VS2008编译提示以下错误 C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\mmsystem.h(286) :


error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

一般是宏没找到定义展开,造成了被当成了标识符,而C++不像C允许不指定类型首橘举,默认为int,于是就得者碧到了上述报错。

 

通常在mmsystem.h之前先包含Windows.h可以解决问题。

 

 

比如你自己编译如下伍桐简单的代码:

#include <windows.h>// 尝试注释掉这行,你就可以看到相似的报错一大堆 
#include <mmsystem.h>
int main()
{
}