Partager via


Erreur du compilateur C2847

impossible d'appliquer sizeof à un type managé ou WinRT 'classe'

L’opérateur sizeof obtient la valeur d’un objet au moment de la compilation. La taille d'un type valeur, d'une interface ou d'une classe managée ou WinRT est dynamique et ne peut pas, par conséquent, être connue au moment de la compilation.

Par exemple, l'exemple suivant génère l'erreur C2847 :

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

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