Upozornění kompilátoru (úroveň 4) C4238
Nepoužité rozšíření: třída rvalue použitá jako hodnota lvalue
Kvůli kompatibilitě s předchozími verzemi visual C++ umožňují rozšíření Microsoftu (/Ze) použít typ třídy jako rvalue v kontextu, který implicitně nebo explicitně přebírá jeho adresu. V některých případech, například v příkladu níže, to může být nebezpečné.
Příklad
// C4238.cpp
// compile with: /W4 /c
struct C {
C() {}
};
C * pC = &C(); // C4238
Toto použití způsobí chybu v rámci kompatibility ANSI (/Za).