4

我在 Card 类中有这个方法。我想要的是减去值,下面是我创建的方法。但是,它给了我这篇文章标题中所述的错误。下面是错误指向的行。

latestPoints = ([self.points doubleValue] - requiredPoints);

我该怎么做呢?我见过这样的帖子说同样的错误,但是我没有发现任何对我想做的事情有价值的东西。

请指教。

卡片.h

#import <Foundation/Foundation.h>

@interface Card : NSObject

    @property (nonatomic, strong) NSNumber *points;

- (double) subtractPoints: (double *) requiredPoints;

@end  

卡.m

#import "Card.h"

@implementation Card

@synthesize points = _points;


- (double) subtractPoints:(double *)requiredPoints
{

    double latestPoints;

    latestPoints = ([self.points doubleValue] - requiredPoints);

    return latestPoints;
}

@end
4

2 回答 2

3

为什么要使用双指针来传递双精度值。或者你想传递一个双数组?无论哪种方式

latestPoints = ([self.points doubleValue] - *requiredPoints);

将为您完成工作。如果它是一个数组(一维),*requiredPoints 将为您提供数组中的第一个值

编辑:此外,如果您尝试传递单个双精度值,则无需使用指针。

- (double) subtractPoints:(double)requiredPoints

足够。并将其称为

[yourObject substractPoints:your_double_value];
于 2012-04-27T06:27:52.563 回答
1

在您的方法定义中更改double*为,它应该可以工作。doublesubtractPoints

这失败的原因是因为你从一个double值中减去一个指针。另一种选择是requiredPoints在减法中取消引用您的论点。但是,我看不出您为什么要为double减法方法提供指针类型。

于 2012-04-27T06:27:23.497 回答