Передача указателя на символ в ошибку функции
Здравствуйте, я получаю сообщение об ошибке, когда я пытаюсь передать символ в функцию. вот мой код
переменная
char *temp;
Прототип
int checkIfUniqueCourseNo(char,int);
Вызов
checkIfUniqueCourseNo(temp,k);
и моя ошибка
warning: improper pointer/integer combination: arg #1
Я новичок в C, так что будь осторожен со мной:)
3 ответа
Решение
Ваша функция принимает char
; вы пытаетесь пройти в char*
,
Чтобы это исправить, вам нужно разыменовать указатель, чтобы получить символ, на который он указывает, чтобы ваша функция получила ожидаемый тип аргумента:
checkIfUniqueCourseNo(*temp,k);
Если функция исключает char
Вы должны разыменовать указатель:
checkIfUniqueCourseNo(*temp,k);
// ^ pass the char addressed by temp
Ваша переменная char*
(указатель на символ), но функция принимает char
(не указатель).
Если вы хотите передать содержимое temp в функцию, используйте checkIfUniqueCourseNo(*temp, k)
, Если вы действительно хотите передать указатель сам, объявите функцию как
int checkIfUniqueCourseNo(char*,int);