Teilen über


Compilerfehler C3160

„Zeiger“: Ein Datenmember einer verwalteten oder WinRT-Klasse kann nicht diesen Typ aufweisen.

Bemerkungen

Innere Garbage Collection-Zeiger können auf das Innere einer verwalteten oder WinRT-Klasse verweisen. Da diese langsamer als Zeiger auf gesamte Objekte sind und eine besondere Behandlung durch den Garbage Collector erfordern, können innere verwaltete Zeiger nicht als Member einer Klasse deklariert werden.

Example

Im folgenden Beispiel wird C3160 generiert:

// C3160.cpp
// compile with: /clr
ref struct A {
   // cannot create interior pointers inside a class
   interior_ptr<int> pg;   // C3160
   int g;   // OK
   int* pg2;   // OK
};

int main() {
   interior_ptr<int> pg2;   // OK
}