||=== Build: Release in project1(compiler: GNU GCC Compiler) ===|
D:\C++\project1\main.cpp||In function 'void zapiszUstawienia()':|
D:\C++\project1\main.cpp|56|error: 'zamek1' was not declared in this scope|
D:\C++\project1\main.cpp|56|error: 'nzwa' was not declared in this scope|
D:\C++\project1\main.cpp|57|error: 'wlasc' was not declared in this scope|
D:\C++\project1d\main.cpp|58|error: 'procentProdkcj1' was not declared in this scope|
D:\C++\project1\main.cpp|58|error: 'prcn' was not declared in this scope|
D:\C++\project1\main.cpp|59|error: 'ludnosc1' was not declared in this scope|
D:\C++\project1\main.cpp|59|error: 'ldnsl' was not declared in this scope|
D:\C++\project1\main.cpp|60|error: 'nastroj1' was not declared in this scope|
D:\C++\project1main.cpp|60|error: 'nastr' was not declared in this scope|
||=== Build failed: 9 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
Witam.
W programie utworzyłem kilka class przechowujących pewne parametry. W tym jeden class'a ma 2 funkcje pobierającą nazwe i nick. Każda klasa ma konstruktor.
Mój problem polega na tym, iż chciałbym stworzyć funkcję, która te dane (parametry z class) zapisze do pliku.
W tym celu stworzyłem voida w głównym pliku programu (main.cpp), pod include zaznaczyłem iż taka funkcja istnieje, a pod funkcją główną (int main) stworzyłem jej ciało.. (funkcję stworzyłem oczywiście za
return i "}" ).
void zapiszUstawienia(string nzwa, string wlascl, int prcnt, int ludns, float nstrj);
W funkcji zapisującej, którą nazwałem "zapiszUstawienia" utworzyłem zmienną fstream (bibliotekę też dodałem). I teraz nie wiem jak przekazać tej funkcji zapisującej ustawienia paramerty moich obiektów:
void zapiszUstawienia()
{
fstream otwarty_plik1;
otwarty_plik1.open("ustawienia.txt", ios::out);
if(otwarty_plik1.good()==false) cout<<"Nie udalo sie uruchomic pliku! ";
zamek1.nazwa = nzwa;
zamek1.wlasciciel = wlasc;
procentProdkcj1.procent_prodkcj = prcn;
ludnosc1.ludnosc = ldnsl;
nastroj1.nastroj = nastr;
otwarty_plik1<<nzwa;
otwarty_plik1<<wlasc;
otwarty_plik1<<prcn;
otwarty_plik1<<ldnsl;
otwarty_plik1<<nastr;
otwarty_plik1.close();
}
Funkcji przekazałem także parametry, które chciałbym w niej zapisać:
zapiszUstawienia(zamek1.nazwa, zamek1.wlasciciel, procentProdkcj1.procent_prodkcj, ludnosc1.ludnosc, nastroj1.nastroj);
Obiekty także zostały stworzone. Dałem także funkcji "zapiszUstawienia" zaprzyjaźnienie z wszystkimi klasami.
Przykładowa klasa w pliku nagłówkowym:
class Zamek
{
public:
string nazwa;
string wlasciciel;
friend void zapiszUstawienia();
Zamek(string="Zamek nr 1", string="Krol I");
void podajNazwe();
void podajWlasciciela();
};
A to błędy, które wywalił kompilator.
Ma ktoś jakiś pomysł jak to rozwiązać?