Compartilhar via


Erro do compilador C2847

não é possível aplicar sizeof ao tipo 'class' gerenciado ou WinRT

O operador sizeof obtém o valor de um objeto em tempo de compilação. O tamanho de uma classe, interface ou tipo de valor gerenciado ou WinRT é dinâmico e, portanto, não pode ser conhecido no tempo de compilação.

Por exemplo, o exemplo a seguir gera C2847:

// C2847.cpp
// compile with: /clr
ref class A {};

int main() {
   A ^ xA = gcnew A;
   sizeof(*xA);   // C2847 cannot use sizeof on managed object
}