警告被視爲錯誤 - 沒有生成“object”文件

在使用vs編譯程序的時候碰到如標題所示的錯誤提示,網上找的方法都不好使,後來發現就是簡單的函數返回值不匹配問題。

舉例如下:

HANDLE PsGetProcessId(
  _In_ PEPROCESS Process
);

PsGetProcessId返回值應該爲HANDLE,若是在調用的時候將其賦值給其他類型的變量,如int,將導致該類錯誤。

int pid = PsGetProcessId(Process)

正確寫法應該爲:

HANDLE pid = PsGetProcessId(Process)

當然,以上問題也可以另一種方法解決:項目->屬性->配置屬性->C/C++->常規->將警告視爲錯誤,將其值改爲“否”,但是這將忽略所有的警告,在實際開發中強烈建議不要這麼幹。
發佈了42 篇原創文章 · 獲贊 5 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章