我有一个名为Contact的类,我想构建一个指向这些对象的数据结构,如127行和20列的矩阵。 我试图使用std :: vector类这样向量向量,坏分区
std::vector < std::vector<Contact* > > matrix (127, std::vector < Contact* > (20));
然后,将具有declarated在头
std::vector<std::vector<Contact* > > Buckets;
我之前分配给它初始化,并宣布矩阵以下(这一步,因为基本上我不知道该怎么做,在一个更加清晰一小段路):
Buckets = matrix;
但使用的push_back功能类似
Buckets[pot].push_back(cont_temp);
经过一段时间后产生一个错误(“抛出'std :: bad_alloc'的实例后终止调用”),我不知道如何解决它。
是否有任何其他更好的方式来实例化和初始化矩阵?你会建议其他解决方案,而不是使用矢量向量(boost :: multiarray ..?)吗?
感谢 (抱歉愚蠢的问题,我是个穷学生:)
编辑:我已经找到了错误(只是一个转让出界)。如果您对这种数据结构有一般建议,我仍然在这里...
你使用调试器吗?如果是这样,你可以停止在抛出异常的地方,看看发生了什么。 – sharptooth 2009-08-20 08:39:42