2010-12-01 36 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,因此錯誤。