【发布时间】:2015-10-13 22:49:36
【问题描述】:
仍在学习 C++。
我正在将一个 CSV 文件导入一个向量
我已正确构建向量,但在将向量转换为数组时遇到问题,并且出现此错误: 无法在赋值中将 'std::vector' 转换为 'double'
由于某种原因,第一个复制语句出现此错误,而循环中的复制语句工作正常。
vector< vector<double> > labelsVec;
vector< vector<double> > trainingDataVec;
read_csv(infile1, labelsVec);
read_csv(infile2, trainingDataVec);
double labels[178] = {0.0};
double trainingData[178][5] = {0.0};
copy(labelsVec.begin(), labelsVec.end(), labels);
for (int row = 0; row < trainingDataVec.size(); ++row) {
copy(trainingDataVec[row].begin(), trainingDataVec[row].end(), trainingData[row]);
}
Mat labelsMat(178, 1, CV_32SC1, labels);
Mat trainDataMat(178, 5, CV_32FC1, trainingData);
【问题讨论】:
-
您似乎正试图将一个双精度数组插入到一个双精度向量的向量中。
-
我想你想要
vector<double> labelsVec;因为labels只有一个维度。