c – 向量动态内存分配的私有成员向量

c – 向量动态内存分配的私有成员向量,第1张

概述我是C的新手(我学过Fortran编程),我想为多维表动态分配内存.该表是一个私有成员变量: class theclass{public: void setdim(void);private: std::vector < std::vector <int> > thetable;} 我想用函数setdim()设置thetable的维度. void theclass::setdim(v 我是C的新手(我学过Fortran编程),我想为多维表动态分配内存.该表是一个私有成员变量:

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矢量的表格之间存在“分配”这样的差异?我该怎么办才能做我想做的事?

谢谢您的帮助,

最好的祝福,


若弗鲁瓦

解决方法 因为它适用于本地而不是你的类变量,我的通灵调试功能告诉我你在null或无效的类指针/实例上调用setdim. 总结

以上是内存溢出为你收集整理的c – 向量动态内存分配的私有成员向量全部内容,希望文章能够帮你解决c – 向量动态内存分配的私有成员向量所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1225444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存