ublas :: matrix_column"向量迭代器+偏移超出范围"

时间:2016-09-05 07:05:43

标签: c++ vector

我正在使用项目的代码段,如下所示:

size_t col_num = 0;
for (const auto& elem : load_data){
    matrix_column< NUMERIC_MATRIX > col_vec = column(db_data, col_num);
    std::copy(elem.second.begin(), elem.second.end(), col_vec.begin());
    col_num++;
}

其中

std::map<unsigned, vector<double>> load_data;
typedef matrix< double, row_major, vector<double>>  NUMERIC_MATRIX;
在for循环中,第一次迭代正常运行;但是第二次迭代导致&#34;矢量迭代器+偏移超出范围&#34;的errof。我认为它可能是由错误的&#34; load_data&#34;的大小引起的。但是,当我添加以下行

时,会发生同样的错误
db_data.resize(row_number, column_number)

其中&#34; row_number&#34;和&#34; column_number&#34;是矩阵的行和列的正确值。注意:column_number等于load_data.size();

我使用ublas :: matrix_column&lt;&gt;做错了吗? ?

这是一个匆忙的项目,非常感谢!

0 个答案:

没有答案