Zdravím.
V hlavním programu jsem vytvořil proměnnou
bool X [radek][sloupec] = {{},{}};
a chtěl ji použít ve svojí knihovně. V hlavním programu jsem deklaroval
#include "matice.h"
matice Dvojrozmerna;
const byte radek = 9;
const byte sloupec = 9;
bool X [radek][sloupec] = {{},{}};
V knihovne matice jsem napsal
void matice::initMatice()
{
for(byte i = 0; i < radek; i++)
for(byte j = 0; j < sloupec; j++)
X[i][j] = true;
}
Překladač mi ale hlásí:
Arduino: 1.6.6 Hourly Build 2015/06/23 05:51 (Windows 8.1), Vývojová deska: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
Volby pro sestavení se změnily; sestavuji vše znovu
C:\Program Files (x86)\Arduino\libraries\matice\matice.cpp: In member function 'void matice::initMatice()':
C:\Program Files (x86)\Arduino\libraries\matice\matice.cpp:214:8: error: 'X' was not declared in this scope
X[i][j] = true;
^
Chyba kompilace.
Nevím proč vyskočí tato hláška. Deklarace pole by měla být v tomto případě globální proměnná a viditelná i v přihrané knihovně.