共用方式為


編譯器警告 (層級 4) C4239

使用的非標準延伸模組: 'token' : 從 'type' 轉換成 'type'

C++標準不允許此類型轉換,但這裡允許作為延伸模組。 此警告一律會接著至少一行說明,說明違反的語言規則。

範例

下列範例會產生 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 };