-2
考慮下面的代碼:如何從2D矢量提取單個行並將其分配給1D矢量?
vector < vector <double > > xor_input;
xor_input.resize (6);
for (int i = 0; i < xor_input.size(); i++){
xor_input[i].resize(100);
}
xor_input.resize(6);
for(int i = 0; i < xor_input.size(); i++){
xor_input[i].resize(100);
for(int j = 0; j < xor_input[i].size(); j++){
xor_input[i][j] = image_load[i][j];
}
}
vector <double> xor_output;
xor_output.resize(6);
for(int i = 0; i < xor_output.size(); i++){
xor_output[i] = xor_input[i];
}
我加載6個圖像到2D矢量(xor_input)。 我需要從2D矢量(xor_input)存儲一行(這是一個圖像)到一維向量(xor_output)。
xor_output應該包含從xor_input 2D矢量加載的確切圖像以供進一步比較。
問題是xor_output是一維向量,xor_input是二維向量,我需要將單行存儲到xor_output的xor_ouput中。
我得到以下錯誤:
error: cannot convert ‘__gnu_cxx::__alloc_traits<std::allocator<std::vector<double> > >::value_type {aka std::vector<double>}’ to ‘__gnu_cxx::__alloc_traits<std::allocator<double> >::value_type {aka double}’ in assignment
xor_output[i] = xor_input[i];
^
標題的答案是'xor_output = xor_input [index];',但描述不清楚。 – LogicStuff
您的600個雙值輸入中的哪一個應該是輸出的6個雙精度值?每個矢量中的第一個?第二? 'k'th ...'xor_output [i] = xor_input [i] [k];' –