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 又沒有編譯完 就會報錯
解決方法:
找到循環包含的關係,修改掉