1

我构建了一个类并创建了一个初始化所有变量的方法。

在.h

-(void) initWithX:(float *)x_ andY:(float *)y_ andWidth:(float *)width_;

和.m

    -(void) initWithX:(float *)x_ andY:(float *)y_ andWidth:(float *)width_{
    [super init];
    x = x_;  ***
    y = y_;  ***
    width = width_; ***
}

*的行给我错误“分配中的类型不兼容”,但我不明白:我给出了 .h 中所述的 3 个浮点数!!!

谢谢你们

4

2 回答 2

5

通过删除以下值按值传递浮点数*

- (void)initWithX:(float)x_ andY:(float)y_ andWidth:(float)width_;

- (void)initWithX:(float)x_ andY:(float)y_ andWidth:(float)width_ {
    [super init];
    x = x_;
    y = y_;
    width = width_;
}

否则,该方法将请求指向浮点数 ( float *) 的指针,而不是它们的实际原始

于 2011-01-31T19:42:23.220 回答
1

您要求浮点指针并可能将它们分配给浮点变量。去掉方法声明中的星号。

于 2011-01-31T19:41:30.757 回答