剛纔我已經通過網站挖掘,找出爲何模板類模板成員函數是給語法錯誤:C++模板陷阱
template<class C> class F00 {
template<typename T> bar();
};
...
Foo<C> f;
f.bar<T>(); // syntax error here
我現在認識到模板支架作爲關係運算處理。做的目的需要以下離奇的語法,CF Templates: template function not playing well with class's template member function:
f.template bar<T>();
其他什麼離奇的方面和C++/C++,你可能遇到了沒有的東西,你會認爲是常識的模板的疑難雜症?
順便說一句,你可能只想限制它到模板陷阱,對於一般的C++陷阱已經有另一個問題了。 – int3 2009-12-10 07:22:50
'template bar();'有什麼返回類型? –
xtofl
2009-12-10 07:58:48
你錯了你的假設。這裏你不需要'template',因爲'f'不是一個獨立的名字。無論如何,它會依賴於什麼?這是一個未指定範圍的名稱,用於「Foo」類型的對象。 –
MSalters
2010-09-22 09:51:14