2010-01-12 7 views
3

변수 Player1Visits이 있는데 이는 int으로 선언되었습니다.경고없이 두 개의 정수를 비교하는 방법은 무엇입니까?

Player1Visits == 1을 사용하여 1과 비교하려고하면 정수와 포인터 사이에 경고가 표시됩니다. 다른 유형을 사용해야합니까?

+1

당신이 말하는 언어가 무엇인지 알고 있으면 그것이 C 일 수 있다고 생각하는 것이 중요합니다. 질문에 태그를 답니다. 또한 선언을 복사하면 Player1Visits가 실제로 포인터로 선언 된 것처럼 들리므로 도움이 될 것입니다. –

+0

비교할 때'포인터 '를 사용하는 대신'int *'대신 'int'로 유형을 변경하는 것이 좋습니다. 나는 당신이 프로그램 코드에서 int에 대한 포인터를 원한다고 생각하지 않는다. 원하는 경우 컴파일러 경고를 이해할 수 있습니다. –

답변

2

비교하려면 의미하지 않는다 : 나는로 선언 된 것을 Player1Visits 한 번 확인 할

*Player1Visits == 1 
+0

감사합니다 thats 그것은 객관적인 c를 사용하고 있습니다. – Rupert

4

; 그 컴파일러 경고를 받고 있다면 거의 확실하게 int이 아닙니다. 가능성이 가능성이 @aronchick가 Player1Visits는 int* (int 형에 대한 포인터)이고, 말을 포함, 그래서 당신은 사용하여 비교하려는 :

*Player1Visits == 1

또 다른 가능성은 Player1Visits가 int속성 객체의 일종이다 당신은 당신이 원하는 속성 이름을 알아낼 호출 할, (이 마지막을

[Player1Visits someIntProperty] == 1

당신이 목표 - C를, (나는 믿는다) A-무리없는 가정의 선택을 주어 사용하고있는 가정 IDE).

3

당신은 이것을 int으로 선언하지 않았습니다. 컴파일러의 경고는 그것을 알려줍니다. 아마도 이것을 NSInteger *Player1Visits; 또는 int *Player1Visits;으로 선언했을 것입니다.

이렇게 선언 한 경우 *을 제거하십시오.

관련 문제