我无法使该atof()
功能正常工作。我只希望用户输入值(以十进制数的形式),直到他们输入'|'
,然后打破循环。我希望这些值最初作为字符串读入,然后转换为双精度值,因为我在过去使用这种输入方法时发现,如果输入数字“124”,它会跳出循环,因为“124”是'|' 的代码 字符。
我环顾四周,发现了atof()
显然将string
s 转换为double
s 的函数,但是当我尝试转换时,我收到了消息
“不存在从 std::string 到 const char 的合适转换函数”。
我似乎无法弄清楚为什么会这样。
void distance_vector(){
double total = 0.0;
double mean = 0.0;
string input = " ";
double conversion = 0.0;
vector <double> a;
while (cin >> input && input.compare("|") != 0 ){
conversion = atof(input);
a.push_back(conversion);
}
keep_window_open();
}