vector的问题 我把 vector <int> asd(1); 这段代码放在函数里,没有问题,放在类的头文件里,就会报错 error C2059: syntax error : 'constant' ,请问这是什么回事,如果我一定要放在类的头文件里怎么编? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是想构造有一个int元素的vector么?类成员的初始化,应该放在构造函数的成员初始化列表中。举个例子://a.h#include <vector>using std::vector;class a{public: vector <int> asd ; // constructor : 注意成员初始化列表 a(): asd(1) {} ;} 首先vector <int> asd(1); 是定义一个长度为1的vector,就相当于int asd[1];而不是把asd初始化为1,不知道楼主想要的是什么。如果定义一个长度为1的vector,2楼的正解,但里面asd初始的值都会是0。 asd(1)进行了初始化,头文件里是不能做的,这是规则,就像你不能在头文件里int i=1;这样定义初始化一样,而你只能ini i;一个道理 ACCESS 创建临时表 COPYFILE的问题 准备在这里混呢,送分 VS2005生成后事件 简单问题 怎样在按钮上加载位图或图标? 从其他工程中复制一个类文件和对应头文件到当前工程的问题 无聊 如何将ado进行dll封装?? 关于自定义消息的问题 关于VC2012MFC滚动条问题,为什么滚动条滚回去之后不能正常显示了? 关于使用cin停顿的问题 关于设置数值0xFFFFFF的问题
类成员的初始化,应该放在构造函数的成员初始化列表中。举个例子:
//a.h
#include <vector>
using std::vector;class a
{
public:
vector <int> asd ;
// constructor : 注意成员初始化列表
a(): asd(1) {} ;
}
如果定义一个长度为1的vector,2楼的正解,但里面asd初始的值都会是0。