Pisząc klasę (do zapisywania informacji do pliku) natrafiłem na błąd (a konkretnie 5). Poszukałem w googlu, pokazałem to bardziej doświadczonemu koledze i nic.
Lista błędów :
[C++ Error] Unit1.cpp(110): E2125 Compiler could not generate copy constructor for class 'ios'
[C++ Error] Unit1.cpp(110): E2247 'ios_base::ios_base(const ios_base &)' is not accessible (3 takie same)
[C++ Error] Unit1.cpp(110): E2125 Compiler could not generate copy constructor for class 'streambuf'
class sejwy { public: int x; int y; int postep; int XPostac; int YPostac; bool ekwipunek[14]; std::string odczytane [19]; void wczytaj( std::fstream plik, int wybor) { switch(wybor) { case 1: plik.open("zapis\save1.txt", std::ios::app);break; case 2: plik.open("zapis\save2.txt", std::ios::app);break; case 3: plik.open("zapis\save3.txt", std::ios::app);break; } std::string linia; int i = 0; while (getline(plik, linia)) { odczytane[i] = linia; i++; } plik.close(); } void konwertuj() { x = atoi(odczytane[0].c_str()); y = atoi(odczytane[1].c_str()); postep = atoi(odczytane[2].c_str()); XPostac = atoi(odczytane[3].c_str()); YPostac = atoi(odczytane[4].c_str()); } void zapisz( std::fstream plik, int wybor) { switch(wybor) { case 1: plik.open("zapis\save1.txt", ios::trunc);break; case 2: plik.open("zapis\save2.txt", ios::trunc);break; case 3: plik.open("zapis\save3.txt", ios::trunc);break; } plik << x << std::endl; plik << y << std::endl; plik << postep << std::endl; plik << XPostac << std::endl; plik << YPostac << std::endl; for(int i = 0; i<=0; i++) { plik << ekwipunek[i] << std::endl; } plik.close(); } sejwy::sejwy() { x = 0; y = 0; postep = 0; XPostac = 0; YPostac = 0; for(int i = 0; i<=0;i++) { ekwipunek[i] = 0; } } };
Na razie wywołuję tylko voida zapisz(...), pewnie te same błędy pojawiły by się też w przypadku voida wczytaj(...)