我是靠谱客的博主 震动背包,最近开发中收集的这篇文章主要介绍vs2008编译遇到error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

 

具体错误如下:

1>c:program filesmicrosoft sdkswindowsv6.0aincludewinnt.h(239) : error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)
1>c:program filesmicrosoft sdkswindowsv6.0aincludewinnt.h(239) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:program filesmicrosoft sdkswindowsv6.0aincludewinnt.h(7821) : error C2146: 语法错误 : 缺少“;”(在标识符“Buffer”的前面)
1>c:program filesmicrosoft sdkswindowsv6.0aincludewinnt.h(7821) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:program filesmicrosoft sdkswindowsv6.0aincludewinnt.h(7821) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>d:opencv2.3.1buildincludeopencv2flannflann.hpp(233) : warning C4996: 'cv::flann::Index_<T>': 被声明为已否决
1>        d:opencv2.3.1buildincludeopencv2flannflann.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;

 

最后

以上就是震动背包为你收集整理的vs2008编译遇到error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int的全部内容,希望文章能够帮你解决vs2008编译遇到error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部