我第三次重复错误,但我找不到 什么是使用未声明的标识符的意思..
我在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;
}
答案 0 :(得分: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
答案 1 :(得分:0)
这是确切的代码吗?如果是,则首先需要致电
NSLog(@"sum is : %d", sum);
return 0;
在某个功能中。
sum也是在add
方法中声明的变量,因此不能在该函数之外使用。在sum
下声明@interface Add:NSOBject
以使用add
方法。
如果您不想在add
方法之外声明它,请更改行
NSLog(@"sum is : %d", sum);
到
NSLog(@"sum is : %d", [add:@(12) andNum2:@(13)]);
(注意:将12和13替换为任何其他数字或数字变量)