Ios 无法在目标c中传递CGFloat参数

Ios 无法在目标c中传递CGFloat参数,ios,objective-c,Ios,Objective C,在下面的代码中 - (void) scaleWithXFactor: (CGFloat) x andY: (CGFloat) y { [self.drawing passWithX: x anyY: y]; } 我得到以下错误 Sending CGFloat to parameter of type CGFloat* 如何将cgfloat传递给下一个方法?cgfloat是一种值类型。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值的引用(指针)

你需要得到你的浮动的参考。这很容易使用“与”运算符

&x
给你一个x的参考。所以在你的特殊情况下:

- (void) scaleWithXFactor: (CGFloat) x andY: (CGFloat) y {
    [self.drawing passWithX: &x anyY: &y];
}

正如rmaddy在下面的评论中提到的,如果您没有充分的理由让passWithX将引用(指针)作为其参数,那么就不要让它获取引用。将其参数从(CGFloat*)更改为(CGFloat)。

请将头文件
#import
添加到.m文件。

是的,我也这么认为。尽管我调用了“scaleWithXFactor”,但我没有发送&var。我只发送了一个变量,因为scaleWithXFactor函数的参数是(CGFloat),而不是(CGFloat*)。@PrakashRaman供将来的读者阅读,如果您将
passWithX:anyY
的声明添加到问题中会有所帮助。我怀疑问题在于
passWithX:andY:
方法不必要地使用
CGFloat*
定义,而不仅仅是
CGFloat