我有一个程序似乎无法识别最新 U3D 软件中声明的类型。有一条线
typedef BOOL (WINAPI* GMI)(HMON, LPMONITORINFOEX);
得到错误:
错误 1 错误 C2061:语法错误:标识符 'LPMONITORINFOEX' c:\Projects\U3D\Source\RTL\Platform\Common\Win32\IFXOSRender.cpp 28
和一条线
MONITORINFOEX miMon;
得到
错误 5 错误 C2065: 'miMon' : 未声明的标识符 c:\Projects\U3D\Source\RTL\Platform\Common\Win32\IFXOSRender.cpp 49 错误 3 错误 C2065: 'MONITORINFOEX' : 未声明的标识符 c:\Projects\U3D\源\RTL\Platform\Common\Win32\IFXOSRender.cpp 49
程序的第一个非注释语句是#include <windows.h>
,其中包括winuser.h
,它定义了这些标识符。在 Visual Studio 中,我可以右键单击它们并转到定义(typedef)并从 typedef 转到结构。 WINAPI
中定义WinDef.h
,所以这似乎工作。没有重新定义LPMONITORINFOEX
或MONITORINFOEX
在任何其他文件中。
那么,这怎么可能发生,我能做些什么呢?