0
A
回答
4
沒錯,上述工作得很好,因爲這最小編譯示例所示:
template <class T>
void foo(T arg)
{
T var = arg;
}
int main()
{
foo(23);
return 0;
}
的問題必須在其他代碼你還沒有發佈:)
+0
謝謝,我想這個問題會在別處。 – 2010-11-06 21:00:25
4
是的,這是可能的,如果T是可複製的,將工作。 它可能不適合如果T是具有私人拷貝構造函數的類工作:
class Noncopyable {
private:
Noncopyable(const Noncopyable&);
public:
Noncopyable() {}
};
template <class T>
void foo(T arg) {
T var = arg;
}
int main()
{
foo(Noncopyable());
}
相關問題
- 1. C++模板變量類型聲明
- 2. 聲明變量內嵌模板類定義
- 3. 聲明來自同一類型的變量作爲模板
- 4. 聲明模板類型來調用make_pair
- 5. 變量聲明和定義
- 6. 無法聲明模板變量而不定義它
- 7. 未定義的變量變量聲明
- 8. C++ - 在模板類模板函數獨立聲明/定義
- 9. 聲明使用類型變量
- 10. 在函數聲明中定義變量類型Ruby
- 11. 聲明泛型變量類型
- 12. 聲明刀片模板中的變量
- 13. 聲明變量,如果在Django模板
- 14. 變量聲明++型
- 15. 模板類定義類型
- 16. 模板類的變量聲明中的「類VARIABLE」?
- 17. 我可以使用變量模板來聲明另一個變量模板嗎?
- 18. 超出模板類中模板方法的聲明模板定義
- 19. 變量聲明和數據類型
- 20. 聲明變量類型的好處
- 21. 聲明變量是某種類型的
- 22. 如何聲明System.Collections.Generic.IEnumerable類型的變量?
- 23. 聲明新窗體變量類型VB.NET
- 24. 如何聲明模板類的模板
- 25. typedef模板類的聲明
- 26. 模板類向前聲明
- 27. C++模板類聲明
- 28. 模板類型未定義
- 29. 定義模板類型
- 30. 與模板類的靜態變量衝突的聲明
如果你試圖實例化一件T它會工作。但是如果你嘗試實例化一個T :: iterator,或者一個T :: your_random_typedef,它就不會。你需要使用'typename T :: your_random_typedef my_variable;'如果你想申報一個。 – BatchyX 2010-11-06 21:13:48