c2371 重定义
為什么80%的碼農都做不了架構師?>>> ??
原因:包含的兩個不同庫中使用了同樣的定義
解決(未驗證):將兩個頭文件調整一下包含的順序(如果頭文件被包含在同一文件中)
?
舉例:error C2371: 'WCHAR':redefinition; different basic types
翻譯:這個類型重定義,并且基礎類型不同。即使用了同一個名稱定義了不同的變量類型
?
兩個沖突的頭文件沒有同時包含在同一文件夾下的情況,解決辦法有兩種:
①逐層找到個文件的父文件的沖突根源所在,例如,a.h和b.h沖突,head.h/head1.h/head2.h/a.h與head.h/head1.h/b.h,在這種情況下,可將head2.h與b.h調整位置或可解決
②將當前要包含的頭文件包含到該.h文件對應的.cpp文件中,在該.h文件的命名空間中聲明要包含的頭文件
平時應注意,如果編譯未提示需包含某文件,則盡可能不在此包含。另外,某些作為基礎的頭文件中定義常用的頭文件時,需使用#ifndef AB...#define AB...#endif句型處理則最為穩妥
轉載于:https://my.oschina.net/qtplus/blog/716385
總結
- 上一篇: springmvc中的全注解模式
- 下一篇: 软件测试面试总结