gpt4 book ai didi

C++ char* 到 int 错误

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

我想采用命令行参数(它将是一个大于零的整数)并将其用作函数中的整数参数(以决定使用函数的哪一部分)。

double func(double x, double y, double z, int n) {
if (n==1) { return 1; }
if (n==2) { return 2; }
// etc
}
int main (int argc, char *argv[]) {
int n = argv[1];
// etc, later I call func(x,y,z,n) with this definition of n
}

当我尝试编译时,我收到一些警告:

warning: invalid conversion from ‘char*’ to ‘int’
warning: initializing argument 4 of ‘double func(double, double, double, int)’

我想我明白为什么会这样,我只是不知道如何解决它。到目前为止,我发现谷歌搜索没有任何帮助。我是 C++ 的新手,任何能为我指明正确方向的信息都会很棒。感谢您的时间。

最佳答案

argv[1]char* 类型。使用 strtol 将其转换为整数:

char *ptr;
int n = strtol(argv[1], ptr, 10);
/* Error checking */

关于C++ char* 到 int 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13436248/

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