“class”: 类类型已声明为非类类型
类泛型或模板重新定义非模板或非泛型类。 检查标头文件是否存在冲突。
以下示例生成 C2989:
// C2989.cpp
// compile with: /c
class C{};
template <class T>
class C{}; // C2989
class C2{};
使用泛型时,也可能发生 C2989:
// C2989b.cpp
// compile with: /clr /c
ref class GC1;
generic <typename T> ref class GC1; // C2989
template <typename T> ref class GC2;
generic <typename T> ref class GC2; // C2989
generic <typename T> ref class GCb;
template <typename T> ref class GC2;
generic <typename T> ref class GCc;