-2
でテンプレートコンパイルエラー私は私の質問を説明するために、次の例を与える:C++のlinux
class A
{
public:
template<typename T>
void fun(T &abc)
{
};
}
template<typename U>
void my_fun(std::vector<U> &obj)
{
int abc;
for(int i=0; i<obj.size(); i++
obj[i].fun<int>(abc);
}
上記のコードは、Visual Studio 2010とウィンドウではなく、GCC4と、Linuxでコンパイルすることができます*。。 Linuxでは、以下のコンパイルエラーが発生します。
for obj[i].fun<int>(abc);, expected ";"before "int"
アイデアはありますか?
'obj [i] .template fun(abc);'が必要です。 –
songyuanyao
または 'クラスA {...};' – UKMonkey
'std :: vector'は宣言されていません。 – melpomene