Partager via


Erreur du compilateur C2842

'class' : un type managé ou WinRT ne peut pas définir son propre 'opérateur new' ou 'operator delete'

Notes

Vous pouvez définir votre propre opérateur nouveau ou opérateur delete pour gérer l’allocation de mémoire sur le tas natif. Toutefois, les classes de référence ne peuvent pas définir ces opérateurs car ils sont alloués seulement sur le tas managé.

Pour plus d’informations, consultez Opérateurs définis par l’utilisateur (C++/CLI).

Exemple

L'exemple suivant génère l'erreur C2842.

// C2842.cpp
// compile with: /clr /c
ref class G {
   void* operator new( size_t nSize );   // C2842
};