![](/img/trans.png)
[英]Invalid operands to binary expression ('NSMutableArray' and 'double')
[英]Invalid operands to binary expression ('double' and 'double *')
我在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
為什么使用雙指針傳遞double值。 或者你想傳遞一個雙陣列? 無論哪種方式
latestPoints = ([self.points doubleValue] - *requiredPoints);
會為你做的工作。 如果它是一個數組(單維)* requiredPoints將獲得數組中的第一個值
編輯:此外,如果您嘗試傳遞單個雙精度值,則無需使用指針。
- (double) subtractPoints:(double)requiredPoints
足夠。 並稱之為
[yourObject substractPoints:your_double_value];
在subtractPoints
的方法定義中將double*
更改為double
,它應該可以工作。
這是失敗的原因是因為你從double
值中減去一個指針。 另一種選擇是在減法中取消引用您的requiredPoints
參數。 但是,我認為沒有理由要將double
作為指針類型提供給減法方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.