2011-07-13 11 views
1

私はこれを何時間も続けており、解決策を見つけることができません。次のコードをコンパイルしようとすると、マークされた行に「初期化で互換性のない型」エラーが発生します。どんな助けも受け入れられます。初期化エラーで互換性のないタイプ

ここに私のController.mファイルです:あなたが何かを必要とする場合

#import "Transactions.h" 

@implementation trans 

-(double) add:(double)x to:(double)bal{ 
    return (x + bal); 
} 

-(double) sub:(double)x from:(double)bal{ 
    return (bal - x); 
} 

@end 

を教えてください:

#import "Controller.h" 
#import "Transactions.h" 

@implementation Controller 
- (IBAction)add:(id)sender { 
    double x = [addF doubleValue]; 
    double bal = [balanceF doubleValue]; 
    double newBal = [trans add:x to:bal]; //Error marked here 
    [balanceF setDoubleValue:newBal]; 
} 

- (IBAction)sub:(id)sender { 
    double x = [subF doubleValue]; 
    double bal = [balanceF doubleValue]; 
    double newBal = [trans sub:x from:bal]; //Error marked here 
    [balanceF setDoubleValue:newBal]; 
} 
@end 

そして、ここでは私のTransactions.mファイルだが。 ありがとう!

+(double) add:(double)x to:(double)bal{ 

+(double) sub:(double)x from:(double)bal{ 

はで変更することを忘れないでください:あなたは/コールクラスを使用する方法ではなく、そのインスタンスを宣言した場合、彼らは+で宣言する必要がありますので

+0

あなたのTransactions.hファイルはどうやって見えますか? –

+0

Transactionsヘッダーファイルのaddメソッドとsubメソッドを同じシグネチャで宣言しましたか? – omz

答えて

1

「トランス」は、クラスでありますヘッダーファイル...

+0

素早くお返事ありがとうございます! double bal = [balanceF doubleValue]; ' – Simon

+0

でしたが、これは変数ではなくメソッド修飾子に関するものです。編集の前に答えを無視して、それは間違っていた。 – MByD

+0

パーフェクト!ご協力ありがとうございました。 – Simon

関連する問題