Передача указателя на символ в ошибку функции

Здравствуйте, я получаю сообщение об ошибке, когда я пытаюсь передать символ в функцию. вот мой код

переменная

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);
Другие вопросы по тегам