gpt4 book ai didi

c++ - 将 vector 声明为类成员

转载 作者:搜寻专家 更新时间:2023-10-31 00:42:15 24 4
gpt4 key购买 nike

我在头文件中有一个简单的类:a.hh

#ifndef a_hh
#define a_hh

class a
{
public:
int i;
a()
{
i = 0;
}

};
#endif

然后我有一个文件:b.cc

#include <iostream> 
#include "a.hh"

using namespace std;

int main(int argc, char** argv)
{

a obj;
obj.i = 10;
cout << obj.i << endl;
return 0;
}
>

至此一切正常。我编译了代码,它编译得很好。但是只要我在类中添加一个 vector :

#ifndef a_hh
#define a_hh

class a
{
public:
int i;
vector < int > x;
a()
{
i = 0;
}

};
#endif

我得到如下编译错误:

> CC b.cc
"a.hh", line 7: Error: A class template name was expected instead of vector.
1 Error(s) detected.

在这里声明一个vector作为成员有什么问题?

最佳答案

您需要 #include <vector>并使用限定名称 std::vector<int> x; :

#ifndef a_hh
#define a_hh

#include <vector>

class a{
public:
int i;
std::vector<int> x;
a() // or using initializer list: a() : i(0) {}
{
i=0;
}
};

#endif

其他要点:

关于c++ - 将 vector 声明为类成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12243621/

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