コンパイラの警告 (レベル 4) C4239
非標準の拡張機能が使用されています: 'token': 'type' から 'type' への変換
この型変換は C++ 標準では許可されていませんが、ここでは拡張機能として使用できます。 この警告には、違反している言語規則に関する 1 行以上の説明が続きます。
例
次の例では C4239 が生成されます。
// C4239.cpp
// compile with: /W4 /c
struct C {
C() {}
};
void func(void) {
C & rC = C(); // C4239
const C & rC2 = C(); // OK
rC2;
}
整数型から列挙型への変換は厳密には許可されていません。
次の例では C4239 が生成されます。
// 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 };