Массив во внешнем файле, что не так ?

vlkam
Offline
Зарегистрирован: 17.02.2013

 Хочу сделать объявление большого массива во внешнем файле.
Если объявляют простой тип, то все нормально, а вот если массив класса, то ругается на

'KeyFobs' was not declared in this scope
 

Вот внешний файл, который включаетяс инклюдом в скетч

// Брелки
class KeyFob {
	public:
	unsigned long Serial;
	char stat;
}

unsigned long KeyFobs_[] = {1,2,3}


KeyFob KeyFobs[4];

А вот собственно кусок скетча, где это используется

	KeyFob sdfs;
	KeyFobs_[1] = 0;
	KeyFobs[0] = sdfs;

Первые две строки работают, а вот третья почему то ругается

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

KeyFobs[0] = sdfs;  мб тут что не так. sdfs не переменная и по типу не подходит

vlkam
Offline
Зарегистрирован: 17.02.2013

 Спасибо, разобрался.

Косяк был в том, что несмотря на то, что файл указывался с полным путем подтягивался другой файл

Вот так заработало :

// Брелки
class KeyFob {
	public:
	unsigned long Serial;
	byte stat;
};

int KeyFobElements = 0;

KeyFob KeyFobs[] = {
	
	// Квартира 1
	// Квартира 2
	// Квартира 30
	{657,1}, // ************ Владимир Алексеевич тел 8-9**-********	
	// Квартира 48
	{658,1}

};
	boolean AccessRight = false;
	for(int i = 0;i < KeyFobElements;i++){
		if(KeyFobs[i].Serial == msgHCS.SerialNum){
			AccessRight = true;
			break;
		}
	}