“vector”: 不是“std”的成员

C++语言 码拜 9年前 (2016-05-28) 2966次浏览
#include “targetver.h”
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <vector>
#define _DLLAPI extern “C” __declspec(dllexport)
_DLLAPI void _stdcall snfdfkxhb()
{
std::vector<int> fd;
}
用的是VS2010,编译的时候报错:
error C2039: “vector”: 不是“std”的成员
error C2065: “vector”: 未声明的标识符
error C2062: 意外的类型“int”
在公司和家里都不行,还请高手分析一下问题出在哪了,谢谢.
解决方案

8

源文件保存是.c吗?应该保存为.cpp或是按照C++规则编译。

8

光从你贴出来的这段代码不好判断,原因是你这段代码没有任何语法问题。

8

看报错这是按c语言来编译的结果。
概然是用std的东西,就要用c++的方式编译。

8

IAR 编译器的vector是不在std里。IAR没std。但vs2010能遇到这问题就奇怪了。

8

引用:

谢谢各位的答复,本人本人解决了.本人在工程属性里,配置属性->C/C++->预编译头,改成不使用预编译头就好了.奇怪的是本人在网上搜索的答案基本都是没有#include <vector>,或是没有using namespace std;,却没有人提到过本人这种情况.莫非本人这情况很特殊?为嘛改这个地方就好了呢?

那你搜索下预编译头就了解了,一般是部分不常修改的代码或包含代码进行预编译,可以节省编译时间!


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明“vector”: 不是“std”的成员
喜欢 (0)
[1034331897@qq.com]
分享 (0)