我有一個簡單的警告在我的iphone dev代碼。使指針從整數沒有演員
NSUInteger *startIndex = 20;
此代碼的工作,但我有一個警告:
警告:傳遞「setStartIndex:」的參數1時將整數指針不進行強制轉換
感謝您的幫助。
我有一個簡單的警告在我的iphone dev代碼。使指針從整數沒有演員
NSUInteger *startIndex = 20;
此代碼的工作,但我有一個警告:
警告:傳遞「setStartIndex:」的參數1時將整數指針不進行強制轉換
感謝您的幫助。
警告幾乎說明了一切:你是初始化startIndex
,這是一個指針到NSUInteger
,到20
,這是一個整數文字。你需要分配空間來保存整數本身。
它可能是你想要的是更多的東西是這樣的:
NSUInteger *startIndex = malloc(sizeof(NSUInteger));
*startIndex = 20;
或許
static NSUInteger startIndex = 20;
NSUInteger *startIndexPtr = &startIndex;
但考慮到變數名稱,看來你也可以得過且過的語義有點,可能真的只是想:
NSUInteger startIndex = 20;
NSUInteger是標量類型(定義爲typedef unsigned int NSUInteger;
)。更正您的代碼:
NSUInteger startIndex = 20;
你可以用它直接之後(或&的startIndex如果你需要一個指針傳遞給NSUInteger)。