class theclass{public: voID setdim(voID);private: std::vector < std::vector <int> > thetable;}
我想用函数setdim()设置thetable的维度.
voID theclass::setdim(voID){ this->thetable.assign(1000,std::vector <int> (2000));}
编译这个程序没问题,但是当我执行它时,我遇到了分段错误.
对我来说奇怪的是,这段代码(见下)正是我想要的,除了它不使用我的类的私有成员变量:
std::vector < std::vector < int > > thetable;thetable.assign(1000,std::vector <int> (2000));
顺便说一句,如果thetable是一维向量,我也没有问题.在课堂里 :
std::vector < int > thetable;
如果在setdim中:
this->thetable.assign(1000,2);
所以我的问题是:为什么在thetable和this-> 2D矢量的表格之间存在“分配”这样的差异?我该怎么办才能做我想做的事?
谢谢您的帮助,
最好的祝福,
–
若弗鲁瓦
以上是内存溢出为你收集整理的c – 向量动态内存分配的私有成员向量全部内容,希望文章能够帮你解决c – 向量动态内存分配的私有成员向量所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)