将矢量转换为矢量 C++错误
问题描述:
我想使用stod将矢量字符串转换为矢量double。将矢量<string>转换为矢量<double> C++错误
到目前为止,我有:
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:无转换”
我在做什么错?
答
你的循环读取超出v
向量的界限:
for (int i=0; i<=v.size(); i++)
它应该是:
for (int i=0; i < v.size(); i++)
:/我怎么能错过呢?谢谢。 –
或者如果你使用C++ 11,另一个选项是for(auto d:v)' – sbooth