2012-04-27 4 views
0

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

переменная

char *temp; 

Прототип

int checkIfUniqueCourseNo(char,int); 

Вызов

checkIfUniqueCourseNo(temp,k); 

и моя ошибка

warning: improper pointer/integer combination: arg #1 

Im new to C так легко на меня :)

ответ

2

Ваша функция принимает char; вы пытаетесь передать в char*.

Чтобы это исправить, нужно dereference указатель, чтобы получить символ, который он указывает, так что ваша функция принимает тип аргумента он ожидает:

checkIfUniqueCourseNo(*temp,k); 
+0

Mate благодаря терриконы Thats работает для меня: D –

+0

@DanielDC - убедитесь, что у вас есть действующий адрес в указателе перед разыменованием его (в вашем вопрос, который вы только что объявили, но не инициализировал его) – Attila

0

Если функция excepts char, вы должны разыменовать указатель:

checkIfUniqueCourseNo(*temp,k); 
//     ^pass the char addressed by temp 
0

Ваша переменная является char* (указатель символов), но функция принимает char (а не указатель).

Если вы хотите передать содержимое от temp к функции, используйте checkIfUniqueCourseNo(*temp, k). Если вы действительно хотите передать сам указатель, объявите функцию

int checkIfUniqueCourseNo(char*,int); 
Смежные вопросы