Condividi tramite


Avviso del compilatore (livello 4) C4238

estensione non standard usata: classe rvalue usata come lvalue

Per la compatibilità con le versioni precedenti di Visual C++, le estensioni Microsoft (/Ze) consentono di usare un tipo di classe come rvalue in un contesto che accetta in modo implicito o esplicito il relativo indirizzo. In alcuni casi, ad esempio l'esempio seguente, questo può essere pericoloso.

Esempio

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

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

Questo utilizzo causa un errore nella compatibilità ANSI (/Za).