2010-12-01 29 views
0

手机号码,代码如下所示:“在initializtion不兼容的类型”

NSDictionary *myDictionary = [NSDictionary dictionaryWithObjectsAndKeys: 
     @"a", A_KEY, 
     @"b", B_KEY, 
     @"x", X_KEY, 
     nil]; 
id exp = [[self brain] expression]; 

double result = [[self brain] evaluateExpression:exp 
    usingVariableValues:myDictionary]; -> this is the error line 
  • 表达式定义为:@property (readonly) id expression;(我不认为这是相关的)

的签名功能 “evaluateExpression:EXP ...” 是:

" + (double)evaluateExpression:(id)anExpression 
usingVariableValues:(NSDictionary *)variables;" 

我收到错误: "incompatible type in initializtion"

我无法弄清楚这一点 - 它只是用一个返回double的方法初始化一个双变量。我究竟做错了什么?

+0

我猜这个问题应该被标记为objective-c而不是去。 – 2010-12-01 01:20:52

+0

“A_KEY”等是如何定义的? – 2010-12-01 01:39:04

回答

0

尝试将方法声明开头的加号改为减号。一个加号表示一个类方法,而你(据我所知)将其称为一个实例。

我想上面的错误是导致编译器不知道该方法返回一个double,因此错误。