这一行:
boost::numeric::ublas::matrix<double> prices (vec.size() - 1, vec[0].size() - 1);
在调试时不断导致分段错误。我不明白为什么,因为到了代码中的这一点,它是已经有效的另一个程序。我还尝试通过以下方式声明矩阵(不同的运行):
boost::numeric::ublas::matrix<double> prices;
boost::numeric::ublas::matrix<double> prices(1, 1);
但它仍然会发生! WTH!这在Eclipse CDT和QtCreator中都会发生。
修改
vec是一个二维字符串向量:
vector< vector<string> > etf_prices`;