คำถามติดแท็ก redefinition

16
C ++ Redefinition Header Files (winsock2.h)
ฉันจะป้องกันไม่ให้รวมไฟล์ส่วนหัวสองครั้งได้อย่างไร ปัญหาคือฉันรวมถึงในMyClass.hจากนั้นฉันรวมMyClass.hในหลายไฟล์ดังนั้นจึงมีหลายครั้งและเกิดข้อผิดพลาดในการกำหนดใหม่ วิธีการป้องกัน ฉันใช้ #pragma เพียงครั้งเดียวแทนที่จะใช้ยามและฉันเดาว่าไม่เป็นไร MyClass.h: // MyClass.h #pragma once #include <winsock2.h> class MyClass { // methods public: MyClass(unsigned short port); virtual ~MyClass(void); }; แก้ไข:ข้อผิดพลาดเล็กน้อยที่ฉันได้รับ c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition c:\program files\microsoft sdks\windows\v6.0a\include\winsock.h(460) : see previous definition of 'AF_IPX' c:\program files\microsoft sdks\windows\v6.0a\include\ws2def.h(124) : warning …
143 c++  header  redefinition 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.