11
A
回答
13
是的。這是有效的。
您可以使用任何類模板調用此函數,其中完全是一個模板參數。例如,
template<typename T>
struct A
{
//...
};
foo<A>(); //ok
注意,您不必爲A
類模板,這意味着,以下會導致編譯錯誤模板參數:
foo< A<int> >(); //error
而且,在你的代碼T2
是可選的,而事實上,你不能在函數中使用它,所以最好將其刪除,使定義簡單:
template < template <typename> class T>
void foo() {
T<int> x; //this is how T can be instantiated; provide template argument!
}
+0
像這種情況下的'T2',它總是可選的嗎?我無法在類模板上使用它。 http://ideone.com/LEt6N – user103214
+0
@ user974191:是的。這從來不是必需的。你不能在模板定義中使用它! – Nawaz
相關問題
- 1. 參考模板參數功能模板
- 2. 模板功能模板參數
- 3. 功能如模板參數
- 4. 評估模板(模板模板參數)的C++模板參數
- 5. 的std ::功能模板的模板參數
- 6. 定義模板功能採取了模板類的參數
- 7. 功能模板中的默認模板參數
- 8. 無功能參數的可變模板
- 9. C++模板功能 - >傳遞一個模板類作爲模板參數
- 10. 模板功能爲默認模板參數
- 11. 當模板參數相同時,C++優化類模板功能
- 12. 功能模板
- 13. 模板功能
- 14. 模板功能
- 15. 模板功能
- 16. 模板功能
- 17. 嵌套模板(模板模板參數)
- 18. 與錯號碼的模板參數模板的模板參數
- 19. 使用模板參數::功能
- 20. 功能模板參數編譯錯誤
- 21. 功能對象作爲模板參數
- 22. 功能作爲模板類參數
- 23. 功能與size_t模板參數
- 24. 模板模板參數
- 25. 與模板函數作爲參數可變參數模板功能
- 26. 模板模板參數不符合推導的模板參數
- 27. 如何獲取模板模板參數的模板參數?
- 28. 可變參數模板模板參數
- 29. 在模板類使用模板功能
- 30. 從模板內綁定模板功能
@ChrisLutz,我覺得'T2'是可選的。 – iammilind
@ChrisLutz:我想,不是。 http://ideone.com/8jlI5 – Nawaz
@Nawaz - 我記得在某處讀過。我今天似乎只是錯了。我的錯。 –