0
テーブル形式の値を含むファイルがあります。ファイル内の行数と列数は、異なる場合があります。2次元ベクトルのセグメンテーションフォルト
33829731.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
205282038.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
3021548.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
203294496.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
205420417.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00 -1.00
次のコードを使用して2次元ベクトルを使用してデータを格納しています。
ifstream inputCent("file.txt");
std::vector<std::vector<double> > C;
std::vector<double> col(15);
while(!inputCent.eof())
{
for(int i = 0; i < col.size(); i++)
{
inputCent >> col[i];
C[i].push_back(col[i]);
}
}
しかし、これは私にSegmentation fault: 11
を与えています。しかし、私がこのようにstd::vector<std::vector<double> > C(15);
を初期化すると、15行で動作します。しかし、私が言ったように、行の数は変わるかもしれません。 C
のサイズを初期化する必要があるのはなぜですか?または私は何を間違っているのですか?
ありがとうございました。 :)愚かな間違い。 –