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).