我在我的代碼中使用了Vectors。C++中的向量初始化
,導致該錯誤的行如下所示:
vector<Node> alt_seq ;
alt_seq = vector<Node>(1000);
for(int j=0; j<alt_cf.getNoOfNodes(i); j++)
{
Node temp_node = *alt_itr;
alt_itr++;
alt_seq.push_back(temp_node);
}
線:
alt_seq.push_back(temp_node);
導致運行時錯誤。但是,如果我初始化一些初始大小的矢量如下:
vector<Node> alt_seq(1000) ;
在這種情況下代碼工作正常。 但是我不想給出初始大小,因爲矢量中的對象數量在運行時將是可變的。 請幫幫我。我是新的C++。
供您參考完整的方法函數是在這裏:
看起來像類節點的三大實現問題。你能告訴我們「節點」的定義嗎? – dirkgently 2012-04-28 21:22:27
'vector alt_seq(1000)'將在向量中構造1000個'Node'對象,這與不指定計數不同。你的'push_back'問題聽起來像是'Node'的賦值/拷貝構造函數的一個可能的問題。你能展示這個類的聲明和定義嗎? –
birryree
2012-04-28 21:23:07
順便說一句,pastebin鏈接也沒有類節點的定義。 – dirkgently 2012-04-28 21:25:08