共用方式為


編譯器錯誤 C2989

'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;