一般是宏没找到定义展开,造成了被当成了标识符,而C++不像C允许不指定类型首橘举,默认为int,于是就得者碧到了上述报错。
通常在mmsystem.h之前先包含Windows.h可以解决问题。
比如你自己编译如下伍桐简单的代码:
#include <windows.h>// 尝试注释掉这行,你就可以看到相似的报错一大堆 #include <mmsystem.h>int main(){}