gpt4 book ai didi

vector - Borland C++ Builder 6 - E2316 'vector' 不是 'std' 的成员

转载 作者:行者123 更新时间:2023-12-02 03:04:02 26 4
gpt4 key购买 nike

对 C++ 来说相当陌生,我正在尝试在我的应用程序中使用向量。我正在使用

#include <vector>

在头文件中,但是当我编译时,它在这一行失败:

std::vector<Shot> shot_list;

注意到错误 E2316“向量”不是“std”的成员

如果我随后删除 std::,则会导致 undefined symbol “向量”编译器错误消息。实在是对这个一无所知。使用没有任何问题

std::list<Shot> shot_list; 

在使用向量之前。

这是一个无法编译的简单示例:

//---------------------------------------------------------------------------

#ifndef testclassH
#define testclassH
//---------------------------------------------------------------------------
#include <vector>
class TestClass {
private:
std::vector<int> testVect(1); // removing std:: and adding using namespace std; below the include for the vector it still fails to compile;

};

#endif

对我来说,我看不出这和This Example有什么区别。

最佳答案

如果不明确向量所在的命名空间,则不能单独使用“向量”。 (使用命名空间 std;)也许您可以粘贴相关代码以获得更具体的帮助。

编辑:

您无法初始化.h 中的向量。您需要在 .cpp 中使用向量的 resize() 函数来完成此操作。这可以是您的一个选项(使用类的构造函数):

    #ifndef testclassH
#define testclassH
//---------------------------------------------------------------------------
#include <vector>
class TestClass {

private:
std::vector<int> testVect;

public:
TestClass()
{
testVect.resize(4);
}

};

#endif

如果您进行更改,您给出的简单示例就会编译。

关于vector - Borland C++ Builder 6 - E2316 'vector' 不是 'std' 的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10243383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com