2012-04-27 3 views
0

안녕하세요, 함수에 char을 전달하려고하면 오류가 발생합니다. 여기 내 코드입니다.char 포인터를 함수 오류로 전달

변수

char *temp; 

프로토 타입

int checkIfUniqueCourseNo(char,int); 

전화

checkIfUniqueCourseNo(temp,k); 

내 오류

warning: improper pointer/integer combination: arg #1 

Im는 C에 새로 추가되었습니다. 나에게 쉽게 간다.

답변

2

사용자의 기능에 char; char*을 전달하려고합니다. 함수는 인수의 유형을받을 수 있도록

당신이 그것을 지적하는 문자를 얻기 위해 포인터를 dereference해야이 문제를 해결하려면에, 그것은 기대 :

checkIfUniqueCourseNo(*temp,k); 
+0

메이트 덕분에 힙 그게 전부는 나를 위해 일한으로 함수를 선언 : 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);