Compilerwarnung (Stufe 4) C4239

Aktualisiert: November 2007

Fehlermeldung

Nicht dem Standard entsprechende Erweiterung verwendet: 'Token': Konvertierung von 'Typ' zu 'Typ'
nonstandard extension used : 'token' : conversion from 'type' to 'type'

Diese Typkonvertierung ist gemäß C++-Standard nicht zulässig. In diesem Fall ist sie jedoch als Erweiterung zulässig. Auf diese Warnung folgt mindestens eine Zeile mit Erklärungen, in der erläutert wird, gegen welche Regel verstoßen wurde.

Im folgenden Beispiel wird C4239 generiert.

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

void func(void) {
   C & rC = C();   // C4239
   const C & rC2 = C();   // OK
   rC2;
}

Umwandlung von ganzzahligen Typen in Enumerationstypen ist streng genommen nicht zulässig.

Im folgenden Beispiel wird C4239 generiert.

// C4239b.cpp
// compile with: /W4 /c
enum E { value }; 
struct S { 
   E e : 2; 
} s = { 5 };   // C4239 
// try the following line instead
// } s = { (E)5 };

Community-Beiträge

Anzeigen: