我是C编程的新手并试图找出为什么我在尝试将char变量传递给函数时出现错误
char cmd[100];
getLine(&cmd, &line);
功能声明:
int getLine(char *cmdl, char *str)
错误:
cannot convert char (*)[100] to char* for argument 1 to int getLine(char*, char*)
答案 0 :(得分:2)
您的函数参数类型是char *
。所以你不需要使用&cmd
。只需使用cmd
即可传递该数组的基址。
所以你要么像以下那样调用函数:
getLine(cmd, &line);
或更改函数声明,如:
int getLine(char **cmdl, char *str)
答案 1 :(得分:0)
正如Midhun MP已经说过的那样,Array已经作为指针/引用传递,所以不需要在函数调用中引用它。