我在构建和运行时在xcode中遇到重复错误
我有两个文件file1.m和file2.m都使用相同的变量和函数名称
file1.h
#import <UIKit/UIKit.h>
@interface file1 : UIViewController {
IBOutlet UILabel *result;
}
-(IBAction)home;
@end
file1.m
#include<file1.h>
@implementation file1
int count = 0;
int arr[2][2];
file2.h
#import <UIKit/UIKit.h>
@interface file2 : UIViewController {
IBOutlet UILabel *result;
}
-(IBAction)home;
@end
file2.m
#include<file2.h>
@implementation file2
int count = 0;
int arr[2][2];
构建并运行时,它会在file1.o和file2中给出错误重复符号“count”。 Ø 如果我将他们的名字改为count1和count2,我将不会收到任何错误。
在file1.m和file2.m中,我试图创建全局变量。
有什么方法可以在两个文件中使用相同的变量和函数名称
答案 0 :(得分:5)
让他们static
:
static int count = 0;
static int arr[2][2];
请注意,它们会引用不同的变量。如果您希望他们引用相同的变量,请将其保留在一个文件中,并在另一个文件中声明extern
:
extern int count;
extern int arr[2][2];
将这些extern
声明放在一个公共标题中很常见。