- (void) scaleWithXFactor: (CGFloat) x andY: (CGFloat) y {
[self.drawing passWithX: x anyY: y];
}
代碼中,我得到以下錯誤
Sending CGFloat to parameter of type CGFloat*
我怎麼給CGFloat的傳遞給下一個方法?
- (void) scaleWithXFactor: (CGFloat) x andY: (CGFloat) y {
[self.drawing passWithX: x anyY: y];
}
代碼中,我得到以下錯誤
Sending CGFloat to parameter of type CGFloat*
我怎麼給CGFloat的傳遞給下一個方法?
CGFloat是一個值類型。 CGFloat *是對CGFloat值的引用(指針)。
你需要得到你的float的引用。使用&符號運算符很容易。
&x
給你一個x的參考。所以,你的具體情況:
- (void) scaleWithXFactor: (CGFloat) x andY: (CGFloat) y {
[self.drawing passWithX: &x anyY: &y];
}
正如下面的評論中提到,如果你沒有一個很好的理由passWithX採取引用(指針)作爲其參數rmaddy,那就不用它帶到引用。將其參數從(CGFloat *)更改爲(CGFloat)。
請將頭文件#import <UIKit/UIKit.h>
添加到您的.m文件中。
是的,我也這麼想。儘管我稱之爲「scaleWithXFactor」,但我並沒有發送&var。我只是var –
這是因爲你的scaleWithXFactor函數的參數是(CGFloat),而不是(CGFloat *)。 – Aurast
@PrakashRaman對於未來的讀者,如果您將「passWithX:anyY」的聲明添加到問題中,將會有所幫助。 – user3386109