Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Compilerfehler C3145

'Objekt' : Eine globale oder statische Variable darf nicht den verwalteten Typ 'Typ' aufweisen.

Innerhalb des Funktionsgültigkeitsbereichs können nur CLR-Objekte definiert werden.

Im folgenden Beispiel wird C3145 generiert:

// 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
}

Im folgenden Beispiel wird C3145 generiert:

// 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);
}

Managed Extensions for C++

Im folgenden Beispiel wird C3145 generiert:

// C3145c.cpp
// compile with: /clr:oldSyntax
using namespace System; 
__gc class G {}; 

G *ptr;   // C3145
G *ptr2 = new G;   // C3145

__gc class GlobalObjects {
public:
   static G *ptr;   // OK
   static G *ptr2 = new G;   // OK 
}; 

int main() {
   G *ptr;   // OK
   G *ptr2 = new G;   // OK
}

Community-Beiträge

HINZUFÜGEN
Anzeigen: