私のコードでベクトルを使用しています。次のように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を初期化した場合:
この場合、コードは正常に動作します。 しかし、私はベクトルのオブジェクトの数が実行時に可変になるので、初期サイズを与えたくありません。 私を助けてください。私はC++で新しいです。あなたの参考のために
完全なメソッドの機能はここにある:
クラス 'Node'の大きな3つの実装の問題のようです。 'Node'の定義を教えてください。 – dirkgently
'ベクトル alt_seq(1000)'は、ベクター内に1000個の 'Node'オブジェクトを作成します。これは、カウントを指定しない場合と同じではありません。あなたの 'push_back'問題は、' Node'の代入/コピーコンストラクタで考えられる問題のように聞こえます。クラスの宣言と定義を表示できますか? –
birryree
ところで、pastebinリンクには 'Node'クラスの定義もありません。 – dirkgently