2014-10-22 2 views
0

Существует файл заголовка в моем проекте, который содержит эту строку:ошибка (DCC: 1086): переопределение uint16_t

typedef unsigned short uint16_t; 

и MinGW компилятором, есть файл "stdint.h" что также имеет ту же линию:

typedef unsigned short uint16_t; 

Когда я компилирую, я получаю следующее сообщение об ошибке:

ошибки (DCC: 1086): переопределение uint16_t

Может кто-нибудь, пожалуйста, объясните мне .... Я имею в виду, они оба без знака короткие ..

+0

«В моем проекте есть заголовочный файл, содержащий строку ...» Почему? Задача среды определять «uint16_t', а не ваш проект ... – glglgl

+0

Он определен в проекте в случае использования компиляторов, у которых нет файла« stdint.h » –

+0

Затем вы должны сделать включение этого файла зависит от компилятора ... – glglgl

ответ

3

uint16_t уже определен в stdint.h как беззнаковые 16 разрядный целочисленный тип. Вы просто должны опустить свой typedef.

+0

Да, но почему это вызывает ошибку повторной эрекции? –

+1

@RamySameh Потому что он может быть объявлен только один раз ... – glglgl

+0

@glglgl Я, хотя это было очевидно. – 2501

Смежные вопросы