7
void fooBar()
{
Foo<int> f;
f.bar<1>();
}
但以下不(用「錯誤:前預期主表達式‘)’標記」中的gcc 5.4 .0與-std = C++ 14)。
template <typename T>
void fooBar()
{
Foo<T> f;
f.bar<1>();
}
如果我嘗試明確調用第二個版本,例如,
fooBar<int>();
然後GCC還抱怨
"invalid operands of types '<unresolved overloaded function type>' and 'int' to binary 'operator<'".
是否有任何理由爲什麼第二個版本是無效的?爲什麼gcc將'<'視爲一個運算符而不是模板參數列表的開始?
的功能是什麼'FOO <>()幫助編譯器;'?它存在於哪裏? – alhadhrami
@alhadhrami對不起 - 應該閱讀fooBar。在編輯中更正。 – Matt