您的位置:首页 > 编程语言 > C语言/C++

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

2012-11-20 21:08 483 查看
最近,vs2008编译遇到error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int



具体错误如下:

1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(239) : error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)

1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(239) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7821) : error C2146: 语法错误 : 缺少“;”(在标识符“Buffer”的前面)

1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7821) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

1>c:\program files\microsoft sdks\windows\v6.0a\include\winnt.h(7821) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

1>d:\opencv2.3.1\build\include\opencv2\flann\flann.hpp(233) : warning C4996: 'cv::flann::Index_<T>': 被声明为已否决

1> d:\opencv2.3.1\build\include\opencv2\flann\flann.hpp(278): 参见对正在编译的类 模板 实例化“cv::flann::Index_<T>”的引用



定位到错误处:

typedef void *PVOID;

typedef void * POINTER_64 PVOID64;



解决办法如下:

typedef void *PVOID;

typedef void * POINTER_64 PVOID64;

在它之前加下:

#define POINTER_64 __ptr64





PTC:



Solution 1.

工具->选项->项目和解决方案->vc++目录

试试调换一下include的次序

Solution 2.

typedef void *PVOID;

typedef void * POINTER_64 PVOID64;

在它之前加下:

#define POINTER_64 __ptr64

Solution 3.

typedef void *PVOID;

typedef void * POINTER_64;

typedef void * PVOID64;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐