首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual Windows2008无法识别C++声明的类型

Visual Windows2008无法识别C++声明的类型
EN

Stack Overflow用户
提问于 2010-05-11 22:50:37
回答 1查看 222关注 0票数 0

我有一个程序似乎不能识别最新的U3D软件中声明的类型。有一条线

代码语言:javascript
复制
typedef BOOL (WINAPI* GMI)(HMON, LPMONITORINFOEX);

它会得到错误:

错误1错误c:\Projects\U3D\Source\RTL\Platform\Common\Win32\IFXOSRender.cpp :语法错误:标识符'LPMONITORINFOEX‘C2061 28

还有一行

代码语言:javascript
复制
MONITORINFOEX miMon;

这会得到

错误5错误标识符:'miMon‘:未声明的标识符c:\Projects\U3D\Source\RTL\Platform\Common\Win32\IFXOSRender.cpp 49错误3错误C2065:'MONITORINFOEX’:未声明的标识符C2065 49

该程序的第一个非注释语句是#include <windows.h>,它包含定义这些标识符的winuser.h。在Visual Studio中,我可以右键单击它们,然后转到定义(一个类型定义),然后从类型定义转到结构。WINAPI是在WinDef.h中定义的,所以这似乎是可行的。在任何其他文件中都没有LPMONITORINFOEXMONITORINFOEX的重新定义。

那么,这是怎么发生的,我能做些什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-11 23:00:32

我猜你的WINVER定义有问题。如果查看winuser.h,就会发现这些只在代码块中定义:

代码语言:javascript
复制
#if(WINVER >= 0x0500)

有没有可能是您的WINVER设置不正确?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2811702

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档