Compartir a través de


Error del compilador C3160

'pointer': un miembro de datos de una clase administrada o WinRT no puede ser de este tipo

Observaciones

Los punteros interiores de recolección de elementos no utilizados pueden apuntar al interior de una clase administrada o WinRT. Ya que son más lentos que los punteros de objetos completos y requieren un tratamiento especial por parte del recolector de elementos no utilizados, no puede declarar punteros interiores administrados como miembros de una clase.

Example

En el siguiente ejemplo se genera C3160:

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