概述
最近,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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复