У меня странная проблема с компиляцией и старым проектом C++ Visual Studio 5 в Visual Studio 2010. Существует непреодолимая ошибка компилятора, от которой я не могу избавиться, которая, по-видимому, связана с перечислением «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, а его нет. Что мне не хватает? Если его действительно переопределяют, почему, черт возьми, он не говорит мне, где другие определения?