我已經宣佈在Constants.h
文件我的項目的這個小傢伙:嘗試使用EXTERN INT,告訴它現在是一個指針
extern int *exitDirection;
然後,我把他帶到一個整數。在這種情況下,它是881,這是一個非常好的數字。
現在,我想在其他地方使用他在switch語句項目:
switch (exitDirection) {
case kExitDirectionLeft:
// Have him spawn on the right of the next level.
break;
case kExitDirectionRight:
// Have him spawn on the left of the next level.
break;
default:
break;
}
}
我報錯可愛的錯誤信息"Statement requires expression of integer type (int * invalid)
,我認爲我給它一個指針方式到一個整數,而不是一個實際的整數。 kExitDirectionLeft只是#define
'作爲881,我試着用實際數字切換它,沒有快樂。也嘗試切換INT到NSNumber或NSInteger,同樣的錯誤。
爲什麼我不能在這種情況下使用這個外部定義的整數?我怎樣才能使它工作?任何幫助感謝!
修正它,但這樣做我現在觸發這個蘋果的Mach-O接頭(Id)的錯誤..
"_exitDirection", referenced from:
-[GameplayLayer positionHeroMale] in GameplayLayer.o
-[GameCharacter checkAndClampSpritePosition] in GameCharacter.o
-[GameplayLayer positionHeroMale] in GameplayLayer.o
-[GameCharacter checkAndClampSpritePosition] in GameCharacter.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
任何想法?
你其實根本是什麼告訴它在內存位置881 :) – deanWombourne