新增windows h出現重定義的問題

2022-03-31 22:18:02 字數 363 閱讀 2274

有時候新增標頭檔案windows.h之後會出現:

warning c4005: 「af_ipx」: 巨集重定義

warning c4005: 「af_max」: 巨集重定義

error c2011: 「sockaddr」: 「struct」型別重定義

.....

之類的錯誤

原因就是windows.h和winsock2.h之間包含順序問題

winsock2.h要先包含於windows.h

新增windows.h之前定義巨集win32_lean_and_mean:

#define win32_lean_and_mean

#include

#undef error

winsock2 h出現重定義錯誤的解決方法

錯誤如下圖 解決方法 右擊專案 屬性 配置屬性 c c 預處理器,新增win32 lean and mean 注 巨集編譯 預處理頭 經常可以在stdafx.件 現巨集定義 define win32 lean and mean,具體含義就是當專案中包含 include時去除一些標頭檔案的包含。乙個重...

c 中的重定義,重包含。

1.重定義的概念 乙個變數被直接或者間接多次定義導致的錯誤 導致重定義的三種情況 第一種 就是同乙個變數多次在乙個檔案中定義,例如 int a 1 int a 2 a就是 重定義 第二種 由於重複包含標頭檔案導致的變數的重定義,例如在a.h中定義了乙個變數 int a 3 後來b.h包含了a.h,並...

7 過載重寫重定義

一 過載 overload 指函式名相同,但是它的參數列列個數或順序,型別不同。但是不能靠返回型別來判斷。1 相同的範圍 在同乙個作用域中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無。5 返回值可以不同 二 重寫 也稱為覆蓋 override 是指派生類重新定義基類的虛函式,...