C++在类中定义vector并初始大小的问题 5
有头函数#include<vector>,有usingstd::vector我想在类中定义一个int容器,并初始化大小为10所以我这样操作:vector<int>a(10...
有头函数#include<vector>,有using std::vector
我想在类中定义一个int容器,并初始化大小为10
所以我这样操作:vector<int> a(10);
可是 展开
我想在类中定义一个int容器,并初始化大小为10
所以我这样操作:vector<int> a(10);
可是 展开
4个回答
展开全部
你可以在错误列表里选择这个错误,然后按F1键即可在msdn网上查询。关键是,你还没有定义成员,而你这个vector声明是属于类的对象的,你这样等于在没有成员的情况下给这个容器分配了起源,你可以在构造函数里这样初始化它:
base():a(10){...}
使用了初始化列表。如果你想让这个容器属于类,你可以在类里把它声明为静态的,但是定义一定要在类外:
vector<int> base::a(10);
当然,也对,vector是动态数组,所以你不用担心关于制定大小这些问题。
base():a(10){...}
使用了初始化列表。如果你想让这个容器属于类,你可以在类里把它声明为静态的,但是定义一定要在类外:
vector<int> base::a(10);
当然,也对,vector是动态数组,所以你不用担心关于制定大小这些问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在构造函数中对a初始化就成
class base{
public:
int n;
club cl;
vector<int> a;
base():a(10){}
private:
};
class base{
public:
int n;
club cl;
vector<int> a;
base():a(10){}
private:
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在成员变量的定义里面是不能对成员进行初始化的。
应该写成vector<int> a;就可以了。
事实上,不需要设定其大小,因为vector本来就是动态数组,您可以使用使用push_back等函数直接往a中添加元素,使用a.size()查看大小。
满意请采纳,有问题欢迎追问!
应该写成vector<int> a;就可以了。
事实上,不需要设定其大小,因为vector本来就是动态数组,您可以使用使用push_back等函数直接往a中添加元素,使用a.size()查看大小。
满意请采纳,有问题欢迎追问!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询