Поделиться через


Ошибка компилятора C2011

identifier: повторное определение типа type

Идентификатор ранее был определен как type. Проверьте переопределения идентификатора.

Ошибка C2011 также может возникнуть при импорте файла заголовков или библиотеки типов более одного раза в один файл. Чтобы предотвратить несколько включений типов, определенных в файле заголовка, используйте охранники или директиву #pragmaодин раз в файле заголовка.

Если необходимо найти начальное объявление переопределенного типа, можно использовать флаг компилятора /P для создания предварительно обработанных выходных данных, переданных компилятору. Вы можете воспользоваться средствами поиска текста для поиска экземпляров переопределенного идентификатора в выходном файле.

В следующем примере показано возникновение ошибки C2011 и приводятся сведения по ее устранению.

// C2011.cpp
// compile with: /c
struct S;
union S;   // C2011
union S2;   // OK