Compartilhar via


Aviso do compilador (nível 4) C4238

extensão não padrão usada: classe rvalue usada como lvalue

Para compatibilidade com versões anteriores do Visual C++, as extensões da Microsoft (/Ze) permitem que você use um tipo de classe como um rvalue em um contexto que usa implicitamente ou explicitamente o endereço dele. Em alguns casos, como no exemplo abaixo, isso pode ser perigoso.

Exemplo

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

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

Esse uso causa um erro em compatibilidade ANSI (/Za).