Partager via


Avertissement du compilateur (niveau 4) C4238

extension non standard utilisée : classe rvalue utilisée comme lvalue

Pour la compatibilité avec les versions précédentes de Visual C++, les extensions Microsoft (/Ze) vous permettent d’utiliser un type de classe comme rvalue dans un contexte qui prend implicitement ou explicitement son adresse. Dans certains cas, comme l’exemple ci-dessous, cela peut être dangereux.

Exemple

// C4238.cpp
// compile with: /W4 /c
struct C {
   C() {}
};

C * pC = &C();   // C4238

Cette utilisation provoque une erreur sous compatibilité ANSI (/Za).