2016-08-09 13 views
-2

Я получаю эту ошибку «Ошибка C2371« DWORD »: переопределение, разные базовые типы» при компиляции кода Visual C++ на Visual Studio 2015 с использованием MFC. При двойном щелчке на ошибку он принимает меня stdint.h линия 23:Ошибка C2371 'DWORD': redefinition; разные базовые типы

typedef unsigned int  uint32_t; 

И если я найду какой-либо параметр DWORD на мой код и нажмите f12 на него берет меня minwindef.h линия 156:

typedef unsigned long  DWORD; 

Я не включаю в себя ни один из этих файлов, поэтому я не знаю, в каком порядке эти файлы включены. Я совершенно потерял здесь, что делать, чтобы исправить эту ошибку. У кого-нибудь есть ключ? Если вам нужна дополнительная информация, пожалуйста, спросите меня.

+0

A) Вы сделали свой собственный typedef для 'DWORD'? B) Просто потому, что вы не включаете его явно, это не значит, что один из заголовков, которые вы включили, не так. – NathanOliver

+0

Какие заголовки вы включили? –

+0

@NathanOliver a) Я не определяю сам DWORD b) Я знаю, это проблема, я не могу отследить код, в который включены эти заголовки. –

ответ

0

Я нашел ошибку, это было на 3rdpartyapi.h:

#ifndef uint32_t 
# define uint32_t DWORD 
#endif 

То, что я сделал, было просто включить #include <cstdint> до начала #ifndef и исчезает ошибка. Спасибо всем за помощь.

+0

Ha! Я сделал это назад. Это кровавый макрос. – user4581301

+0

, пожалуйста, примите свой ответ – sergiol

+0

@sergiol Да, я знаю, но когда я нажимаю, он показывает «Вы можете принять свой собственный ответ завтра» –

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