Dela via


Kompilatorvarning (nivå 4) C4238

Icke-standardförlängning används: klass-rvärde används som lvärde

Anmärkningar

För kompatibilitet med tidigare versioner av Visual C++kan du med Microsoft-tillägg (/Ze) använda en klasstyp som ett rvalue i en kontext som implicit eller explicit tar dess adress. I vissa fall, till exempel exemplet nedan, kan detta vara farligt.

Example

I följande exempel genereras C4238:

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

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

Den här användningen orsakar ett fel under ANSI-kompatibilitet (/Za).