将vector <string>转换为vector <double> C ++ ERROR

时间:2015-08-08 21:01:27

标签: c++ vector

我正在尝试使用stod将矢量字符串转换为vector double。

到目前为止,我有:

vector<string> i = {"2.2", "2313.1"};
vector<double> rebuild;

for (int i=0; i<=v.size(); i++) {
        rebuild.push_back(stod(v[i])); ///converts  vector<string> to  vector<double>
    }

但是我收到错误“以std :: invalid_argument类型的未捕获异常终止:stod:no conversion”

我做错了什么?

1 个答案:

答案 0 :(得分:6)

你的循环读数超出了v向量的范围:

for (int i=0; i<=v.size(); i++)

应该是:

for (int i=0; i < v.size(); i++)