Чтобы расширить ответ Антона: windows.h #define
s UINT
будет unsigned int
. Это определение макроса C, а не typedef
. Если вы #include windows.h
перед вами #include mmsystem.h
, строка, на которую он указывает, будет читаться как:
typedef unsigned int MMVERSION;
Однако, если вы сделаете это неправильно, то UINT расширится до нуля, и эта строка станет:
typedef MMVERSION;
Это недопустимо в C ++, и вы получите ошибку разбора. Это именно то, что вы получаете.