2010-12-01 6 views
0

내 호출 코드는 다음과 같습니다 @property (readonly) id expression;는 "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 
  • 식으로 정의된다 함수 "evaluateExpression : exp ..."는 다음과 같습니다.

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

    내가받는 오류 : "incompatible type in initializtion"

    나는 이것을 알아 내지 못합니다. 이중 변수를 반환하는 메서드로 double 변수를 간단히 초기화하는 것입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

나는이 질문이 go-tag 대신 objective-c라고 태그를 붙여야한다고 생각합니다. –

+0

'A_KEY' 등은 어떻게 정의되어 있습니까? –

+0

어디서 A_KEY, B_KEY, X_KEY, – WrightsCS

답변

0

메소드 선언의 시작 부분에서 더하기를 마이너스로 변경해보십시오. 플러스는 클래스 메소드를 나타내며 인스턴스에 대해 호출하는 것입니다 (가능한 한 알 수 있습니다).

위의 실수로 인해 컴파일러가 메서드가 double을 반환한다는 것을 알지 못한다고 생각하므로 오류가 발생합니다.

+0

을 정의하고있는 것입니까? 내 메토는 클래스 mathod라는 것을 잊어 버렸습니다. 그 객체를 통해 호출해서는 안됩니다 ... – Joe

관련 문제