gpt4 book ai didi

c++ - 使用atof将字符串转换为double

转载 作者:行者123 更新时间:2023-11-28 03:05:15 27 4
gpt4 key购买 nike

#include <stdlib.h>
....
double returnDistance(string coord1, string coord2, const vector<string> vec) {
int arr1[11], arr2[11];
istringstream iss1(coord1);
int i = 0;
while(iss1) {
iss1 >> arr1[i];
i++;
}
istringstream iss2(coord2);
i = 0;
while(iss2) {
iss2 >> arr2[i];
i++;
}
//error below when calling atof
return calculateDistance(atof(arr1[6]), atof(arr2[6]),
atof(arr1[7]), atof(arr2[7]),
atof(arr1[8]), atof(arr2[8]))
}

arr1[] 和 arr2[] 都是字符串数组,calculateDistance 计算给定 x、y、z 坐标的 3-D 距离,但出于某种原因,我收到错误消息“没有匹配函数来调用‘atof’ ”。请帮忙!

PS:当我尝试使用 .c_str() 时出现以下错误:“成员引用基类型‘int’不是结构或 union ”

最佳答案

如果我理解你的代码的目标,你应该更新它如下:

double arr1[11], arr2[11];
...
return calculateDistance(arr1[6], arr2[6],
arr1[7], arr2[7],
arr1[8], arr2[8]);

基本上,每个 arr?[?] 已经是一个 float ,字符串-> float 转换由 >>> 运算符完成。

关于c++ - 使用atof将字符串转换为double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885049/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com