2015-08-05 5 views
-1

я неоднократного ошибки 3-й раз, но я не мог, что нашел , что среднее использование незаявленных идентификатора ..Использование необъявленный идентификатор «сумма»

Я написал эту программу на функцию в Objective-C

#import <Foundation/Foundation.h> 

@interface Add:NSObject 
/* method declaration */ 
- (int)add:(int)a andNum2:(int)b; 
@end 

@implementation Add 

/* method returning the max between two numbers */ 
- (int)add:(int)a andNum2:(int)b{ 
/* local variable declaration */ 


int sum = a +b; 
return sum; 
} 

@end 

    NSLog(@"sum is : %d", sum);// error this line  
    return 0; 
} 
+3

'sum' - локальная переменная - вы не можете получить к ней доступ извне функции. Это очень простой материал, поэтому я предлагаю вам получить хорошую книгу о C/Objective C. –

ответ

0
#import <Foundation/Foundation.h> 
@interface Add:NSObject{ 

    int sum;//Declare sum as global variable to access in class 
} 
    - (int)add:(int)a andNum2:(int)b; 
@end 

@implementation Add 

    - (int)add:(int)a andNum2:(int)b{ 

    sum = a +b;// 
    return sum; 
} 

@end 

NSLog(@"sum is : %d", sum);//Now Access global variable with in class  
0

Это точный код? если да, тогда сначала необходимо позвонить по телефону

NSLog(@"sum is : %d", sum); 
return 0; 

внутри некоторые функции.

Также сумма является переменной, объявленной внутри метода add и, следовательно, не может использоваться вне этой функции. Объявить sum под @interface Add:NSOBject использовать его сторону add метод.

Если вы не хотите, чтобы объявить его вне add метода, то измените строку

NSLog(@"sum is : %d", sum); 

в

NSLog(@"sum is : %d", [add:@(12) andNum2:@(13)]); 

(Примечание: Заменить 12 и 13 с любым другим числом или числовой переменной)

+0

/* локальное определение переменной */ int a = 10; int b = 20; При замене показанной ошибки i.e неиспользованная переменная a, b NSLog (@ "sum:% d", [Добавить: @ (10) иNumb2: @ (20)]); retur –

+0

заменить '@ (10)' и '@ (20)' на 'a' и' b' соответственно. то есть 'NSLog (@" sum:% d ", [Add: a andNumb2: b]);' –

-1
#import <Foundation/Foundation.h> 

@interface Add:NSObject 
/* method declaration */ 
- (int)add:(int)a andNum2:(int)b; 
@end 

@implementation Add 

/* method returning the max between two numbers */ 
- (int)add:(int)a andNum2:(int)b{ 
/* local variable declaration */ 


int sum = a +b; 
return sum; 
} 

@end 

    NSLog(@"sum is : %d", sum);// error this line  
    return 0; 
}