Partilhar via


Erro do compilador C3160

'ponteiro': um membro de dados de uma classe gerenciada ou WinRT não pode ter este tipo

Observações

Os ponteiros de coleta de lixo internos podem apontar para o interior de uma classe gerenciada ou WinRT. Como eles são mais lentos do que os ponteiros de objeto inteiro e exigem manipulação especial pelo coletor de lixo, não é possível declarar ponteiros gerenciados internos como membros de uma classe.

Example

O exemplo a seguir gera 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
}