我在Card类中有这个方法。我想要的是减去值,下面是我创建的方法。但是,它给了我这个帖子标题中所述的错误。下面是错误指向的行。
latestPoints = ([self.points doubleValue] - requiredPoints);
我应该如何解决这个问题?我看过像这样的帖子说同样的错误,但是我找不到任何对我想要的东西有价值的东西。
请咨询。
Card.h
#import <Foundation/Foundation.h>
@interface Card : NSObject
@property (nonatomic, strong) NSNumber *points;
- (double) subtractPoints: (double *) requiredPoints;
@end
Card.m
#import "Card.h"
@implementation Card
@synthesize points = _points;
- (double) subtractPoints:(double *)requiredPoints
{
double latestPoints;
latestPoints = ([self.points doubleValue] - requiredPoints);
return latestPoints;
}
@end
答案 0 :(得分:3)
为什么使用双指针传递double值。或者你想传递一个双阵列?无论哪种方式
latestPoints = ([self.points doubleValue] - *requiredPoints);
将为您完成工作。如果它是一个数组(单维)* requiredPoints将获得数组中的第一个值
编辑:此外,如果您尝试传递单个double值,则无需使用指针。
- (double) subtractPoints:(double)requiredPoints
就够了。并将其称为
[yourObject substractPoints:your_double_value];
答案 1 :(得分:1)
在double*
的方法定义中将double
更改为subtractPoints
,它应该有效。
这是失败的原因是因为您从double
值中减去指针。另一种选择是在减法中取消引用requiredPoints
参数。但是,我认为没有理由要将double
作为指针类型提供给减法方法。