VS error 記錄

C4996:

出現這樣的警告,是因爲VC2005之後的版本中認爲CRT中的一組函數如果使用不當,可能會產生諸如記憶體泄露,緩衝區溢位,非法訪問等安全問題。這些函數如:strcpy,strcat等。

解決方法:

1. #pragma warning(disable:4996)或 #define _CRT_SECURE_NO_WARNINGS  忽略掉這個錯誤

2.修改VS配置,告訴它我就要舊函數,修改方法:項目->屬性->C/C++->常規->SDL檢查,將“是”改爲“否”,即可

3. 按照錯誤提示替換 (如果跨平臺就不要用這個方法了)

4.在項目-》屬性-》C/C++-》預處理器-》預處理器定義 添加宏定義:_CRT_SECURE_NO_WARNINGS (類似於1裏的#define,不過這個添加之後整個項目都可以忽略這個錯誤)

C3646:

未知重新說明符

1.兩個頭文件互相引用導致

2.中文;符合

3.類定義順序

解決方法:

在報錯的那個.h文件的類定義前加上class聲明調用的類(即class 類)

解決中文符合

調整類定義順序

C2504:

未定義基類

頭文件循環包含導致

比如 :a.h b.h c.h

a.h 包含b.h

b.h 包含c.h

c.h 包含a.h

編譯a.h 以爲包含b.h 引入b.h b.h包含c.h 引入c.h c.h包含a.h a.h 又沒有編譯完 就會報錯

解決方法:

找到循環包含的關係,修改掉

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章