“初始化中不兼容的类型”错误没有意义

时间:2010-06-22 08:31:42

标签: iphone objective-c

我多年来一直是Java程序员,但只有iPhone / Obj-c几个月。每当我觉得我对语言感到满意时,就会发生奇怪的事情。为什么以下生成“初始化中的不兼容类型”编译错误?看起来很直接。 'double'是一个原始的权利?!?

-(void) testCalling{
   double myDoub = [self functionReturningDouble:3.0];
}


-(double) functionReturningDouble:(double) input{
   return 1.0;
}

1 个答案:

答案 0 :(得分:0)

尝试交换方法声明。这可能是Georg注意到的范围问题:

-(double) functionReturningDouble:(double) input{
    return 1.0;
}

-(void) testCalling{
    double myDoub = [self functionReturningDouble:3.0];
}

在Objective-C中(这对C来说是有效的),只有在以前定义或声明过方法之后,方法才会“存在”。