我有一個名爲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