Compilerwarnung (Ebene 4) C4239
nicht standardmäßige Erweiterung verwendet: 'token': Konvertierung von 'type' in 'type'
Diese Typkonvertierung ist vom C++-Standard nicht zulässig, ist aber hier als Erweiterung zulässig. Auf diese Warnung folgt immer mindestens eine Erläuterungszeile, die die zu verletzende Sprachregel beschreibt.
Beispiele
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;
}
Die Umwandlung von integraler Typ in Enumerationstyp ist nicht streng 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 };