开发者

makes pointer from integer without a cast

i have a simply warning in my iphone dev code.

NSUInteger *startIndex = 20;

This code work, but i have a warning :

warning: passing argument 1 of 'setSta开发者_运维技巧rtIndex:' makes pointer from integer without a cast

Thanks for your help.


The warning pretty much says it all: you are initialising startIndex, which is a pointer to NSUInteger, to 20, which is an integer literal. You need to allocate the space to hold the integer itself somewhere.

It may be that what you want is something more like this:

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

Or perhaps

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

But given the var name, it seems you may also be muddling the semantics a bit, and probably really just want:

NSUInteger startIndex = 20;


NSUInteger is a scalar type (defined as typedef unsigned int NSUInteger;). Correct your code to:

NSUInteger startIndex = 20; 

You can use it directly afterwards (or with &startIndex if you need to pass a pointer to NSUInteger).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜