2009-11-25 89 views
0

我有一個簡單的警告在我的iphone dev代碼。使指針從整數沒有演員

NSUInteger *startIndex = 20; 

此代碼的工作,但我有一個警告:

警告:傳遞「setStartIndex:」的參數1時將整數指針不進行強制轉換

感謝您的幫助。

回答

4

警告幾乎說明了一切:你是初始化startIndex,這是一個指針NSUInteger,到20,這是一個整數文字。你需要分配空間來保存整數本身。

可能是你想要的是更多的東西是這樣的:

NSUInteger *startIndex = malloc(sizeof(NSUInteger)); 
*startIndex = 20; 

或許

static NSUInteger startIndex = 20; 
NSUInteger *startIndexPtr = &startIndex; 

但考慮到變數名稱,看來你也可以得過且過的語義有點,可能真的只是想:

NSUInteger startIndex = 20; 
1

NSUInteger是標量類型(定義爲typedef unsigned int NSUInteger;)。更正您的代碼:

NSUInteger startIndex = 20; 

你可以用它直接之後(或&的startIndex如果你需要一個指針傳遞給NSUInteger)。