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

snfdf 2014-11-12 05:01:44
#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”

在公司和家里都不行,还请高手分析一下问题出在哪了,谢谢.
...全文
6723 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
倚玉偎香 2018-11-01
  • 打赏
  • 举报
回复
引用 7 楼 snfdf 的回复:
谢谢各位的答复,我自己解决了.我在工程属性里,配置属性->C/C++->预编译头,改成不使用预编译头就好了.奇怪的是我在网上搜索的答案基本都是没有#include <vector>,或是没有using namespace std;,却没有人提到过我这种情况.难道我这情况很特殊?为嘛改这个地方就好了呢?

我在设置opencv的时候记得改过这里,然后就出现一样的毛病了,预编译头不使用后我这里也可以了
分号 2016-08-10
  • 打赏
  • 举报
回复
注意 #include 的先后顺序!!!
sun123704 2016-04-11
  • 打赏
  • 举报
回复
引用 10 楼 doniexun 的回复:
[quote=引用 7 楼 snfdf 的回复:] 谢谢各位的答复,我自己解决了.我在工程属性里,配置属性->C/C++->预编译头,改成不使用预编译头就好了.奇怪的是我在网上搜索的答案基本都是没有#include <vector>,或是没有using namespace std;,却没有人提到过我这种情况.难道我这情况很特殊?为嘛改这个地方就好了呢?
我在Visual Sutdio 2005中编译时,也出现同样问题,但我: 1)有#include <vector> 2)有using namespace std; 3)工程属性中也是“不使用预编译头” 这样还是无法编译成功,这也是醉了。。。[/quote] 我也是这样,有include <vector> ,有std;还是本来也是不使用预编译头的,但是还是错误,error C2039: “begin”: 不是“std”的成员,您的问题怎么解决了呢?求助!
_windness_ 2015-09-07
  • 打赏
  • 举报
回复
引用 7 楼 snfdf 的回复:
谢谢各位的答复,我自己解决了.我在工程属性里,配置属性->C/C++->预编译头,改成不使用预编译头就好了.奇怪的是我在网上搜索的答案基本都是没有#include <vector>,或是没有using namespace std;,却没有人提到过我这种情况.难道我这情况很特殊?为嘛改这个地方就好了呢?
我在Visual Sutdio 2005中编译时,也出现同样问题,但我: 1)有#include <vector> 2)有using namespace std; 3)工程属性中也是“不使用预编译头” 这样还是无法编译成功,这也是醉了。。。
追风大叔 2014-12-07
  • 打赏
  • 举报
回复
#include <windows.h> 的问题。 如果使用预编译头,这一行就不应该写在这里
幻夢之葉 2014-11-14
  • 打赏
  • 举报
回复
引用 7 楼 snfdf 的回复:
谢谢各位的答复,我自己解决了.我在工程属性里,配置属性->C/C++->预编译头,改成不使用预编译头就好了.奇怪的是我在网上搜索的答案基本都是没有#include <vector>,或是没有using namespace std;,却没有人提到过我这种情况.难道我这情况很特殊?为嘛改这个地方就好了呢?
那你搜索下预编译头就了解了,一般是部分不常修改的代码或者包含代码进行预编译,可以节省编译时间!
snfdf 2014-11-14
  • 打赏
  • 举报
回复
谢谢各位的答复,我自己解决了.我在工程属性里,配置属性->C/C++->预编译头,改成不使用预编译头就好了.奇怪的是我在网上搜索的答案基本都是没有#include <vector>,或是没有using namespace std;,却没有人提到过我这种情况.难道我这情况很特殊?为嘛改这个地方就好了呢?
luciferisnotsatan 2014-11-13
  • 打赏
  • 举报
回复
IAR 编译器的vector是不在std里。IAR没std。但vs2010能遇到这问题就奇怪了。
snfdf 2014-11-13
  • 打赏
  • 举报
回复
高手帮忙看看,在网上看了很多都跟我的情况不一样.
snfdf 2014-11-12
  • 打赏
  • 举报
回复
是cpp文件.
勤奋的小游侠 2014-11-12
  • 打赏
  • 举报
回复
看报错这是按c语言来编译的结果。 概然是用std的东西,就要用c++的方式编译。
cjfdqchwhj 2014-11-12
  • 打赏
  • 举报
回复
光从你贴出来的这段代码不好判断,因为你这段代码没有任何语法问题。
图灵狗 2014-11-12
  • 打赏
  • 举报
回复
源文件保存是.c吗?应该保存为.cpp或者是按照C++规则编译。

65,176

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧