Compartilhar via


Erro do compilador C2726

'gcnew' só pode ser usado para criar um objeto com tipo gerenciado ou WinRT

Não é possível criar uma instância de um tipo nativo no heap com coleta de lixo.

O seguinte exemplo gera o erro C2726 e mostra como corrigi-lo:

// C2726.cpp
// compile with: /clr
using namespace System;
class U {};
ref class V {};
value class W {};

int main() {
   U* pU = gcnew U;    // C2726
   U* pU2 = new U;   // OK
   V^ p2 = gcnew V;   // OK
   W p3;   // OK

}