编译'winbase.h'中的错误

jdl*_*jdl 24 c++ winapi visual-studio-2008

编译时,我在Windows文件中收到以下错误winbase.h.

不知道为什么我得到语法错误,编译器显示更多:

1> c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(238) : 
   error C2146: syntax error : missing ';' before identifier 'Internal'
Run Code Online (Sandbox Code Playgroud)

这里有一个简单的代码来重现问题:

#include <winbase.h>

int main()
{
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Mic*_*urr 53

<winbase.h>直接包括在内吗?

你不应该 - 它希望在处理之前定义/声明一些东西.特别是在这种情况下,标识符ULONG_PTR被声明为typedef in intsafe.h.

包括<windows.h>.