を読んだ後サブベクトルを抽出するとき、私はファイルを読み込み、そこからベクトルを作成し、その後、私は次のようにサブベクトルを抽出しようとしている:この場合C++エラーファイル
vector<double> v = {1, 2, 3, 4, 5};
displayVector(v);
vector<double> v2(&v[1], &v[v.size()]);
displayVector(v2);
コード作品また、私に所望の出力を与えるが、自分のアプリケーションのための最初の道を面白いです
v.erase(v.begin());
:イムはちょうど元のベクトルからの第一の特徴を取り除く、私はまた、のような何かを行うことができます。
ここでの問題は、ファイルから読み込んでベクターを構築することです。このように、このようなファイルを見て:第1の座標
1000025,5,1,1,1,2,1,3,1,1,2
1002945,5,4,4,5,7,10,3,2,1,2
1015425,3,1,1,1,2,2,3,1,1,2
1016277,6,8,8,1,3,4,3,7,1,2
1017023,4,1,1,3,2,1,3,1,1,2
1017122,8,10,10,8,7,10,9,7,1,4
1018099,1,1,1,1,2,10,3,1,1,2
1018561,2,1,2,1,2,1,3,1,1,2
1033078,2,1,1,1,2,1,1,1,5,2
1033078,4,2,1,1,2,1,2,1,1,2
1035283,1,1,1,1,1,1,3,1,1,2
1036172,2,1,1,1,2,1,2,1,1,2
1041801,5,3,3,3,2,3,4,4,1,4
1043999,1,1,1,1,2,3,3,1,1,2
1044572,8,7,5,10,7,9,5,5,4,4
1047630,7,4,6,4,6,1,4,3,1,4
1048672,4,1,1,1,2,1,2,1,1,2
1049815,4,1,1,1,2,1,3,1,1,2
1050670,10,7,7,6,4,10,4,1,2,4
1050718,6,1,1,1,2,1,3,1,1,2
1054590,7,3,2,10,5,10,5,4,4,4
1054593,10,5,5,3,6,7,7,10,1,4
1056784,3,1,1,1,2,1,2,1,1,2
は、ここでは、私にとって興味深いものではありません、私のコードは次のとおりです。コンパイル上記のコードは
void displayVector (std::vector<double> &v) {
for (auto &feature : v) {
std::cout << feature << " ";
}
std::cout << std::endl;
}
void displayTrainingSet(vector<FeaturedVector> &data) {
for (auto a : data) {
displayVector(a);
}
}
int main(int argc, char const *argv[]) {
ifstream file;
string filename = "breast-cancer.data";
file.open(filename, std::ifstream::in);
vector<FeaturedVector> data;
while (file.good()) {
string line;
getline(file, line);
istringstream buffer(line);
double feature;
vector<double> v;
while (buffer >> feature) {
if (buffer.peek() == ',') {
buffer.ignore();
}
v.push_back(feature);
}
vector<double> v1(&v[1], &v[v.size()]);
data.push_back(v1);
}
file.close();
//displayTrainingSet(data);
return 0;
}
が、私は実行しようとすると、それは私に与えますラインベクトルv1によって引き起こされる奇妙なエラー、(& V [1]、& V [v.size()]):この出来事はなぜ
libc++abi.dylib: terminating with uncaught exception of type std::length_error: vector
Abort trap: 6
誰かが知っていますか?私は、ファイルから読み込み、ベクトルvを作成することは知っています。すでにベクトルを画面に表示しようとしていて、うまくいきます。助けを前にありがとう!
コードをシングルステップ実行しようとしましたか? –
うん、私はデバッグし、行ごとに分析しようとしましたが、コードを実行しようとすると私はこの致命的なクラッシュを取得するいくつかの奇妙な理由で、実際にはコードが正常にコンパイルされているため、 –