次の方法で共有


コンパイラ エラー C2902

'トークン' : 'template' に続く予期しないトークン。識別子が必要です

キーワード template に続くトークンが識別子ではありません。

このエラーは、Visual Studio 2022 以降のバージョンでは廃止されています。

次の例では C2902 が生成されます。

// C2902.cpp
// compile with: /c
namespace N {
   template<class T> class X {};
   class Y {};
}
void g() {
   N::template + 1;   // C2902
}

void f() {
   N::template X<int> x1;   // OK
}

C2902 は、ジェネリックを使用しているときも発生することがあります。

// C2902b.cpp
// compile with: /clr /c
namespace N {
   generic<class T> ref class GC {};
}

void f() {
   N::generic + 1;   // C2902
   N::generic GC<int>^ x;
}