共用方式為


依預設是關閉的編譯器警告

編譯器會包含旋轉預設的警告。 如果警告預設是關閉的,大多數的使用者不會看到它。 不過,您可以使用下列其中一個選項,您可以啟用這種警告。

  • #pragma warning(default : warning_number)
    指定的警告) (warning_number啟用其預設陣序。 這個警告的檔案包含預設的這個警告。

  • #pragma warning(warning_level : warning_number)
    指定的警告) (warning_number啟用指定的層級 (warning_level)。

  • /Wall
    /Wall 預設啟用的所有警告。

下列警告預設為關閉的。

C4061 (層級 4)

列舉值"在參數的列舉" enumeration " identifier "不是由 case 標籤明確處理

C4062 (層級 3)

列舉值"在參數的列舉" enumeration " identifier "不會被處理。

C4191 (層級 3)

" operator/operation ":從「expression "的型別不安全的轉換為" type required

C4242 (層級 4)

" identifier ":從" type1 "轉換為" type2 ",資料可能遺失

C4254 (層級 4)

" operator ":從" type1 "轉換為" type2 ",資料可能遺失

C4255 (層級 4)

" function ":未指定的函式原型 (Prototype):轉換「()」至「(void) "

C4263 (層級 4)

" function ":成員函式沒有覆寫任何基底類別虛擬成員函式

C4264 (層級 1)

" virtual_function ":虛擬成員函式沒有覆寫可自基底類別" class "的,函式已被隱藏

C4265 (層級 3)

「class ":類別具有虛擬函式,不過,解構函式不是虛擬的

C4266 (層級 4)

" function ":虛擬成員函式沒有覆寫可自基底類別" type ",函式已被隱藏

C4287 (層級 3)

" operator ":不帶正負號/負常數不相符

C4289 (層級 4)

使用非標準的擴充:'var' : 在 for-loop 範圍外使用 for-loop 中所宣告的迴圈控制變數

C4296 (層級 4)

" operator ":運算式永遠是 false

C4302 (層級 2)

" conversion ":從" type1 "到" " type2 "

C4350 (層級 1)

行為變更: 呼叫了 'member1' 而不是 'member2'

C4355

'this' : 在基底成員初始設定式清單中使用

C4365 (層級 4)

" action ":從「type_1 "轉換為" type_2 ",簽署和未簽署的不符

C4412 (層級 2)

" function ":函式簽章包含型別" type ",C++ 物件傳遞並不安全。在純程式碼和混合或原生

C4431 (層級 4)

遺漏型別規範 - 假設為 int。 注意: C 已不再支援 default-int

C4435 (層級 4)

" class1 ":在/vd2 下的物件配置會變更因為虛擬基底" class2 "

C4437 (層級 4)

從虛擬基底「到「class2 " class1 "的 dynamic_cast 可以從內容中失敗

C4514 (層級 4)

" function ":已移除未參考的內嵌函式

C4536 (層級 4)

「type name ":型別名稱超過中繼資料" limit "個字元的限制。

C4545 (層級 1)

逗號之前的運算式評估為遺漏引數清單的函式

C4546 (層級 1)

逗號之前的函式呼叫遺漏引數清單

C4547 (層級 1)

" operator ":逗號之前的運算子無效;必須是具有副作用的運算子

C4548 (層級 1)

逗號之前的運算式無效; 必須是具有副作用的運算式

C4549 (層級 1)

" operator ":逗號之前的運算子無效;要使用" operator "嗎?

C4555 (層級 1)

運算式無效; 必須是具有副作用的運算式

C4557 (層級 3)

'__assume' 包含有效的 'effect'

C4571 (層級 4)

告知性:catch (...) 語意 (Semantics) 從 Visual C++ 7.1 開始已經變更,結構化例外處理 (Structured Exception (SEH) 不再攔截

C4619 (層級 3)

#pragma warning:沒有警告編號" number "

C4623 (層級 4)

" derived class ":,因為基底類別預設建構函式無法存取,預設建構函式不能產生

C4625 (層級 4)

" derived class ":,因為基底類別 (Base Class) 複製建構函式無法存取,則無法產生複製建構函式

C4626 (層級 4)

" derived class ":,因為基底類別的指派運算子無法存取,無法產生指派運算子

C4628 (層級 1)

不支援使用 -Ze 的雙拼詞。 字元順序 'digraph' 沒有解譯為 'char' 的替代語彙基元 (Token)

C4640 (層級 3)

" instance ":區域靜態物件的建構不是安全執行緒。

C4641 (層級 3)

XML 文件註解有模稜兩可的交互參考

C4668 (層級 4)

'symbol' 未定義成前置處理器巨集,以 '0' 取代 'directives'

C4686 (層級 3)

" user-defined type ":行為可能有變更,在 UDT 傳回呼叫慣例的變更

C4692 (層級 1)

'function': 非私用成員的簽章含有組件私用原生型別 'native_type'

C4710 (層級 4)

" function ":未內嵌函式

C4711 (層級 1)

函式 'function' 被指定為自動內嵌展開

C4738 (層級 3)

在記憶體中儲存 32 位元浮點結果,可能會損失效能

C4820 (層級 4)

在成員建構 'member_name' 之後加入 'bytes' 位元組填補

C4826 (層級 2)

從" type1 "轉換為" type2 "是標記延伸。 這可能會造成未預期的執行階段行為。

C4836 (層級 1)

使用非標準擴充: 'type' : 區域型別或未命名型別不可做為 template 引數

C4837 (層級 4)

偵測到三併詞: '??%c' 已由 '%c' 取代

C4905 (層級 1)

寬字串常值轉換成 'LPSTR'

C4906 (層級 1)

字串常值轉換成 'LPWSTR'

C4917 (層級 1)

" declarator ":GUID 僅能與類別、介面或命名空間

C4928 (層級 1)

不合法的 copy-initialization; 已經隱含套用一個以上的使用者定義的轉換

C4931 (層級 4)

我們假設已針對 number 位元指標建置型別程式庫

C4946 (層級 1)

在關聯的類別之間使用的 reinterpret_cast:'class1' 和 'class2'

C4962

" function ":特性指引最佳化已停用,因為最佳化導致分析資料變成不一致

請參閱

參考

warning