Дублирующая ошибка символа xcode iphone - PullRequest
3 голосов
/ 20 марта 2012

Я получаю повторяющуюся ошибку в моем 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];

При сборке и запуске выдает ошибку дублирования символа "count" в file1.o и file2. о если я изменю их имена на count1 и count2, я не получу никакой ошибки.

В файлах file1.m и file2.m я пытаюсь создать глобальные переменные.

Есть ли способ использовать одинаковые имена переменных и функций в обоих файлах

1 Ответ

5 голосов
/ 20 марта 2012

Сделайте их static:

static int count = 0;
static int arr[2][2];

Обратите внимание, что они будут ссылаться на различные переменные.Если вы хотите, чтобы они ссылались на одинаковые переменные, оставьте все как есть в одном файле и объявите их extern в другом файле:

extern int count;
extern int arr[2][2];

Это обычнопоместить эти extern объявления в общий заголовок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...