OSX 10.7、XCode4。
小さな問題がありvector<vector<float>>
ます。選択プロセスの後で、2Dを3Dベクトルにプッシュバックする必要があります。stl::vectorテンプレートのpush_back関数でEXC_BAD_ACCESSエラーをスローします。単純なはずです(私は以前に何度も複雑なデータ構造を扱ってきました)。さまざまな量のアイデアを試しましたが、役に立ちませんでした。他のすべてが機能し、コマンドラインに期待する値を出力します。私はそのコードの盲目、そしていくつかの簡単な担当者が拾うことができると確信しています。
構文が正しいと信じているという理由だけで質問しますが、コンパイル時に問題が発生します。ここにいくつかのサンプルコードがあります:
実装:
for(int i=0;i<fdisVec.size();i++){
int j;
if(fdisVec[i] < fdisVec2[i]){
j = 0;
}
else if(fdisVec2[i] < fdisVec[i]){
j = 1;
}
clusters[j].push_back(allMfccs[i]);
}
そして私の.hにはそのように宣言されたオブジェクトがあります(クラスのパブリックメンバー):
vector< vector <float> > allMfccs;
vector< vector < vector <float> > > clusters;
それが役立つ場合、fdisVecとfdisVec2も2Dベクトルですが、「if else」ステートメントは、私が望むように応答します。これと関係があるかどうかは非常に疑わしいです。