无法打开包含文件:'vector.h':没有这样的文件或目录

时间:2011-07-18 06:46:41

标签: c++

在文件的顶部,我有:

#include "vector.h"
然后我做了一个:

vector<vtarg> targVector;

并收到以下错误

Cannot open include file: 'vector.h': No such file or directory

我错过了什么吗?我尝试了#include“vector”更多的错误。

#include "afxwin.h"
#include "vector.h"
// CTargDlg dialog
class CTargDlg : public CDialog {
  // Construction 
public:
    CTargDlg(CWnd* pParent = NULL);
  // standard constructor
    vector<vtarg> targVector;

6 个答案:

答案 0 :(得分:10)

您需要使用

#include <vector>

而不是.h文件扩展名。此外,vector模板位于std命名空间中,因此您应该定义您的矢量

std::vector<vtarg> targVector;

还要确保包含vtarg所需的任何标头。

答案 1 :(得分:5)

你犯了3个错误。

首先,include文件名为vector,而不是vector.h。

其次,此向量是包含标准C ++运行时库的一部分,您需要使用&lt;&gt;包括建筑,像这样:

#include <vector>

第三,vector类(实际模板类)属于std名称空间。所以你应该写:

std::vector<vtarg> targVector;

答案 2 :(得分:4)

标头文件名为vector,而不是vector.h

通常,标准C ++标头没有.h后缀。

如果你#include <vector>得到“更多错误”,那么你需要解决这些错误。但既然你还没有说出那些 的错误,那就很难帮助你。

答案 3 :(得分:1)

没有"vector.h"。 std :: vector的头文件是<vector>。实际上,所有C ++标准库头文件(除了C兼容版本)都没有“.h”。

答案 4 :(得分:1)

尝试这种替代方案

include "vector" 

某些编译器,如visual c ++ 2010,支持这种类型的符号 此外,如果它是.c文件,例如xy.c,请使用include&#34; xy&#34;。

答案 5 :(得分:0)

如果您正在使用stanford库集合,

#include "vector.h"实际上是使用它的正确方法。

https://www.stanford.edu/class/cs106b/cppdoc/Vector-class.html

问题是我不认为大多数编译器都设置为包含stanford库,因此我认为文件是你自己要包含的内容。