Megosztás a következőn keresztül:


C3145-ös fordítási hiba

"object" : előfordulhat, hogy a globális vagy statikus változó nem rendelkezik felügyelt vagy WinRT típusú "típussal"

Megjegyzések

CLR- vagy WinRT-objektumokat csak a függvény hatókörén belül definiálhat.

Példák

Az alábbi példa létrehozza a C3145-öt, és bemutatja a javítás módját:

// C3145.cpp
// compile with: /clr
using namespace System;
ref class G {};

G ^ ptr;   // C3145
G ^ ptr2 = gcnew G;   // C3145

ref class GlobalObjects {
public:
   static G ^ ptr;   // OK
   static G ^ ptr2 = gcnew G;   // OK
};

int main() {
   G ^ ptr;   // OK
   G ^ ptr2 = gcnew G;   // OK
}

Az alábbi példa C3145-öt hoz létre:

// C3145b.cpp
// compile with: /clr
ref class MyClass {
public:
   static int data;
};

interior_ptr<int> p = &(MyClass::data);   // C3145

void Test(interior_ptr<int> x) {}

int main() {
   MyClass ^ h_MyClass = gcnew MyClass;
   interior_ptr<int> p = &(h_MyClass->data);
}