Compartir a través de


Advertencia del compilador (nivel 4) C4238

se ha utilizado una extensión no estándar: valor R de clase utilizado como valor L

Observaciones

Para la compatibilidad con versiones anteriores de Visual C++, las extensiones de Microsoft (/Ze) permiten usar un tipo de clase como valor R en un contexto que toma implícita o explícitamente su dirección. En algunos casos, como el ejemplo siguiente, esto puede ser peligroso.

Ejemplo

En el ejemplo siguiente se genera la advertencia C4238:

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

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

Este uso produce un error en compatibilidad ANSI (/Za).