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(...)