2012-08-12 52 views
0

我已經深入學習了Objective-C,並在調用方法時遇到了一點問題。這裏是我的簡單的代碼片段:表達式錯誤調用

Player.h代碼片段:

@interface Player : NSObject{ 


} 

-(void) performAction; 
-(int) addNumber:(int) a toNumber:(int) b; 

@end 

Player.m代碼片段:從main.m文件

@implementation Player 

-(void)performAction{ 
    NSLog(@"Here it is!"); 
} 

-(int)addNumber:(int)a toNumber:(int)b{ 
    return a+b; 

} 


@end 

調用方法:

int val = [playerOne addNumber:(int)3 toNumber:(int)3]; 

In上面的代碼行,我不斷收到'預期表達式'的錯誤。

任何想法?

+1

評論刪除:沒有挽救的。 – 2012-08-12 22:35:08

+0

@failedComputerScientist請提供您的主要功能。我相信,必須有語法錯誤。可能是由於看不見的角色。你是否複製並粘貼它? – vikingosegundo 2012-08-12 23:10:34

+0

你可以嘗試從行'int val = [playerOne addNumber:(int)3 toNumber:(int)3]'開頭刪除所有空格;'在行結尾之前。 – vikingosegundo 2012-08-12 23:11:40

回答

0

此代碼適用於我。

Player.h

#import <Foundation/Foundation.h> 

@interface Player : NSObject 

- (void)performAction; 
- (int)addNumber:(int)a toNumber:(int)b; 

@end 

Player.m

#import "Player.h" 

@implementation Player 

- (void)performAction { 
    NSLog(@"Here it is!"); 
} 

- (int)addNumber:(int)a toNumber:(int)b { 
    return a+b; 
} 

@end 

的main.m

#import <UIKit/UIKit.h> 
#import "AppDelegate.h" 
#import "Player.h" 

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     Player *playerOne = [Player new]; 
     int val = [playerOne addNumber:(int)3 toNumber:(int)3]; 

     NSLog(@"%d", val); 


     return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 
    } 
} 
+0

這很有趣。它只對我有用,一旦我刪除了int鑄造。 – failedComputerScientist 2012-08-12 22:49:40