我在Visual Studio 2010中编译和旧的C++ Visual Studio 5项目时出现了一个奇怪的问题。我看不到一个唠叨的编译器错误,与枚举“DBTYPE”相关。 .h文件的SNIPPIT下面给出了一些额外的行柜面的错误是从上面来:尝试在C++ Visual Studio 2010中声明枚举时出现奇怪的错误
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':redefinition;不同的基本类型d:\ temp \ npc \ print manager - 1 \ core \ blib \ odbcbrowsegrid.h 29 1 npcnt
那么这里到底发生了什么。我检查并重新检查了语法。我看起来很好。我已经搜索了整个目录,看看是否有另一个DBTYPE实例,但没有。我错过了什么?如果它真的被重新定义,为什么它不告诉我其他定义在哪里?
如果将DBTYPE更改为其他内容,还会出现错误吗? (如DB_TYPE) – Ferruccio
当我更改名称时,错误消失。我不特别绑定DBTYPE这个名字,所以我对改变它没有任何保留。 – Ultratrunks