您好我在尝试将char传递给函数时遇到错误。 这是我的代码。
可变
char *temp;
原型
int checkIfUniqueCourseNo(char,int);
呼叫
checkIfUniqueCourseNo(temp,k);
和我的错误
warning: improper pointer/integer combination: arg #1
我是C的新手,所以对我很轻松:)
答案 0 :(得分:2)
您的函数接受char
;你试图传递char*
。
要解决此问题,您需要dereference指针来获取它指向的字符,以便您的函数接收它所期望的参数类型:
checkIfUniqueCourseNo(*temp,k);
答案 1 :(得分:0)
如果函数超出char
,则应取消引用指针:
checkIfUniqueCourseNo(*temp,k);
// ^ pass the char addressed by temp
答案 2 :(得分:0)
您的变量是char*
(字符指针),但该函数采用char
(不是指针)。
如果要将temp的内容传递给该函数,请使用checkIfUniqueCourseNo(*temp, k)
。如果您确实想要传递指针本身,请将该函数声明为
int checkIfUniqueCourseNo(char*,int);