컴파일러 경고(수준 4) C4238
비표준 확장 사용: lvalue로 사용되는 클래스 rvalue
이전 버전의 Visual C++와 호환성을 위해 Microsoft 확장(/Ze)을 사용하면 해당 주소를 암시적으로 또는 명시적으로 사용하는 컨텍스트에서 클래스 형식을 rvalue로 사용할 수 있습니다. 아래 예제와 같은 경우에 위험할 수 있습니다.
예시
// C4238.cpp
// compile with: /W4 /c
struct C {
C() {}
};
C * pC = &C(); // C4238
이 사용으로 인해 ANSI 호환성(/Za)에서 오류가 발생합니다.