我在 Visual Studio 2010 中编译和旧的 C++ Visual Studio 5 项目时遇到了一个奇怪的问题。我无法摆脱一个烦人的编译器错误,它似乎与枚举“DBTYPE”有关。下面给出了 .h 文件的片段,并带有几行额外的行,以防错误来自上面:
struct CBrowseField;
class CODBCBrowseDlg;
typedef CArray <CBrowseField*, CBrowseField*&> FLDNAMES;
typedef CArray <CString, LPCTSTR > COLNAMES;
enum DBTYPE
{ //this bracket is where all 7 errors point to.
DB_FOXPRO26,
DB_OTHERS
};
编译时出现 7 个错误,所有错误都说相同的内容并且都指向相同的行号。错误如下:
错误 71 错误 C2371:'DBTYPE':重新定义;不同的基本类型 d:\temp\npc\print manager - 1\core\blib\odbcbrowsegrid.h 29 1 npcnt
那么这里到底发生了什么。我检查并重新检查了语法。我觉得很好。我已经搜索了整个目录以查看是否有另一个 DBTYPE 实例而没有。我错过了什么?如果它真的被重新定义,为什么它不告诉我其他定义在哪里?