Ошибка компилятора C2903
"идентификатор: символ не является ни шаблоном класса, ни шаблоном функции
Код пытается явно создать экземпляр объекта, который не является шаблоном.
В следующем примере возникает ошибка C2903:
// C2903.cpp
// compile with: /c
namespace N {
template<class T> class X {};
class Y {};
}
void g() {
N::template Y y; // C2903
N::X<N::Y> y; // OK
}
Ошибка C2903 также может возникнуть при использовании универсальных шаблонов:
// C2903b.cpp
// compile with: /clr /c
namespace N {
class Y {};
generic<class T> ref class Z {};
}
void f() {
N::generic Y y; // C2903
N:: generic Z<int>^ z; // OK
}