【发布时间】:2015-08-25 01:16:56
【问题描述】:
基本上。我有一个需要求和的数字数组。这是我的代码:
- (NSInteger ) sumOfIntegersInArray: (NSArray *)array {
NSInteger sum = 0;
for (NSNumber *num in array) {
sum += [num intValue];
}
return sum;
}
由于某种原因这不起作用,但如果我NSLOG sum,那么它将打印100(这应该是总和)。为什么这不起作用?
我不断收到的错误是:
“不兼容的整数到指针的转换从结果类型为'NSInteger *'(又名'long *')的函数返回'NSInteger(又名'long');用&获取地址
(如果我让它更正我的代码为return &sum,它仍然不起作用。
【问题讨论】:
-
为什么你没有 sum 是一个 int?
-
请注意错误消息中的
*字符。*在 C 和 Objective-C 中是什么意思??? -
您发布的代码没有问题。使用实际导致错误的代码行更新您的问题。
-
顺便说一句 - 使用
[num integerValue],而不是[num intValue]和NSInteger。 -
对我来说似乎没问题。问题可能出在其他地方
标签: objective-c arrays sum