共用方式為


編譯器錯誤 C2951

類型宣告只能在全域、命名空間或類別範圍中使用

您無法在全域或命名空間範圍之外宣告泛型或範本類別。 如果您在 include 檔案中建立泛型或範本宣告,請確定 include 檔案位於全域範圍。

下列範例會產生 C2951:

// C2951.cpp
template <class T>
class A {};

int main() {
   template <class T>   // C2951
   class B {};
}

使用泛型時,也會發生 C2951:

// C2951b.cpp
// compile with: /clr /c

// OK
generic <class T>
ref class GC { };

int main() {
   generic <class T> ref class GC2 {};   // C2951
}