2019.8.29C++工作错误记录——Socket编程中出现ws2def.h文件“应输入标识符”或“重定义”问题(VS2015)
生活随笔
收集整理的這篇文章主要介紹了
2019.8.29C++工作错误记录——Socket编程中出现ws2def.h文件“应输入标识符”或“重定义”问题(VS2015)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++工作錯誤記錄——Socket編程中出現ws2def.h文件“應輸入標識符”或“重定義”問題
今天使用VS2015進行C++的Socket編程時發現問題,頭文件為:
#include "stdafx.h" #include "WinSock2.h" #include "windows.h"時發生錯誤,錯誤內容如圖:
后經過查詢資料發現是因為這幾個頭文件中有定義沖突的部分,會有重復定義的變量定量等內容,一般編譯器默認先查找windows.h頭文件,默認windows.h文件會包含winsock.h,當你包含winsock2.h就會沖突。所以要同時包含這三個頭文件需要注意包含的順序,將winsock2.h包含在windows.h的前面,同理windows.h要在stdafx.h前面才不會出現重定義的錯誤。
正確順序為:
再次編譯,”應輸入標識符“錯誤消失。
本問題探討
P.S. 這次的工作錯誤還有一個收獲,就是在包含多個頭文件時,將自己編譯的定義變量、子函數等的頭文件要放在系統頭文件的后面,不然會出現"語法錯誤:標識符…"的錯誤。
總結
以上是生活随笔為你收集整理的2019.8.29C++工作错误记录——Socket编程中出现ws2def.h文件“应输入标识符”或“重定义”问题(VS2015)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小孩用计算机做作业怎么表达,计算机作业
- 下一篇: linux引导时输入特殊信息的含义