Unlimited Temat założony przez niniejszego użytkownika |
Brak możliwości dodania "fstream plik;" do klasy » 2012-10-15 17:51:04 Oto mój kod:
#include <iostream> #include <fstream> #include <string> #include <cstdlib> #include <vector> using namespace std;
class books { private: string autor, tytul, wydawnictwo, xautor, xtytul, xwydawnictwo, sciezka, fraza; int rok, strony, xrok, xstrony, ilosc, n, x, liczba, dol, gora; size_t ZnalezionaFraza; books( string xautor, string xtytul, string xwydawnictwo, int xrok, int xstrony ); vector < books > ksiazka; public: int wybor1, wybor2, wybor3; bool sprawdz; books(); void clear(); void header(); void add_book(); void edit_book(); void remove_book(); void search_autor(); void search_tytul(); void search_wydawnictwo(); void search_rok(); void search_strony(); void view_all_books(); void create_file(); void remove_file(); void load_file(); void path_file(); void view_path_file(); void information(); };
books::books( string xautor, string xtytul, string xwydawnictwo, int xrok, int xstrony ) : autor( xautor ) , tytul( xtytul ) , wydawnictwo( xwydawnictwo ) , rok( xrok ) , strony( xstrony ) { }
books::books() { n = 0; }
void books::clear() { cin.clear(); cin.sync(); }
void books::header() { cout << "\t\t Witaj w programie! Created by Unlimited!" << endl; cout << "\t\t [ Projekt: zadanie domowe z PSiO ]" << endl << endl; }
void books::add_book() { header(); clear(); cout << "Podaj tytul ksiazki: "; getline( cin, xtytul ); cout << "Podaj autora: "; getline( cin, xautor ); cout << "Podaj wydawnictwo ksiazki: "; getline( cin, xwydawnictwo ); do { cout << "Podaj rok wydania: "; clear(); cin >> xrok; sprawdz = cin.good(); } while( sprawdz == false ); do { cout << "Podaj ilosc stron: "; clear(); cin >> xstrony; sprawdz = cin.good(); } while( sprawdz == false ); ksiazka.push_back( books( xautor, xtytul, xwydawnictwo, xrok, xstrony ) ); n++; cout << endl << "Dodano pomyslnie!" << endl << endl; system( "pause" ); }
void books::edit_book() { header(); if( n > 0 ) { do { cout << "Podaj LP wpisu ksiazki: "; clear(); cin >> x; sprawdz = cin.good(); } while( sprawdz == false || x > n || x <= 0 ); cout << endl << "Aktualne zestawienie: " << endl; cout << x << ". Tytul: " << ksiazka[ x - 1 ].tytul << endl; cout << " Autor: " << ksiazka[ x - 1 ].autor << endl; cout << " Wydawnictwo: " << ksiazka[ x - 1 ].wydawnictwo << endl; cout << " Rok wydania: " << ksiazka[ x - 1 ].rok << endl; cout << " Ilosc stron: " << ksiazka[ x - 1 ].strony << endl << endl; cout << "Podaj nowe zestawienie:" << endl; clear(); cout << x << ". Tytul: "; getline( cin, ksiazka[ x - 1 ].tytul ); cout << " Autor: "; getline( cin, ksiazka[ x - 1 ].autor ); cout << " Wydawnictwo: "; getline( cin, ksiazka[ x - 1 ].wydawnictwo ); do { cout << " Rok wydania: "; clear(); cin >> ksiazka[ x - 1 ].rok; sprawdz = cin.good(); } while( sprawdz == false ); do { cout << " Ilosc stron: "; clear(); cin >> ksiazka[ x - 1 ].strony; sprawdz = cin.good(); } while( sprawdz == false ); cout << endl << "Zedytowano pomyslnie!" << endl << endl; } else { cout << "Brak ksiazek!" << endl << endl; } system( "pause" ); }
void books::remove_book() { header(); if( n > 0 ) { do { cout << "Podaj LP wpisu ksiazki: "; clear(); cin >> x; sprawdz = cin.good(); } while( sprawdz == false || x > n || x <= 0 ); x--; for(; x < n; x++ ) { if( x != n - 1 ) { ksiazka[ x ] = ksiazka[ x + 1 ]; } } n--; cout << endl << "Usunieto pomyslnie!" << endl << endl; } else { cout << "Brak ksiazek!" << endl << endl; } system( "pause" ); }
void books::search_autor() { }
void books::search_tytul() { }
void books::search_wydawnictwo() { }
void books::search_rok() { }
void books::search_strony() { }
void books::view_all_books() { header(); if( n > 0 ) { x = 1; for(; x <= n; x++ ) { cout << x << ". Tytul: " << ksiazka[ x - 1 ].tytul << endl; cout << " Autor: " << ksiazka[ x - 1 ].autor << endl; cout << " Wydawnictwo: " << ksiazka[ x - 1 ].wydawnictwo << endl; cout << " Rok wydania: " << ksiazka[ x - 1 ].rok << endl; cout << " Ilosc stron: " << ksiazka[ x - 1 ].strony << endl << endl; } } else { cout << "Brak ksiazek!" << endl << endl; } system( "pause" ); }
void books::create_file() { header(); plik.open( sciezka.c_str(), ios::out ); plik.close(); if( plik.good() ) { if( n > 0 ) { plik.open( sciezka.c_str(), ios::out | ios::app ); x = 1; for(; x <= n; x++ ) { plik << ksiazka[ x - 1 ].tytul << endl; plik << ksiazka[ x - 1 ].autor << endl; plik << ksiazka[ x - 1 ].wydawnictwo << endl; plik << ksiazka[ x - 1 ].rok << endl; plik << ksiazka[ x - 1 ].strony << endl; } plik.close(); cout << "Dane zostaly zapisane pomyslnie!" << endl << endl; } else { cout << "Brak ksiazek!" << endl << endl; } } else { cout << "Error! Nie udalo sie utworzyc pliku!" << endl << endl; cout << "Mozliwe bledy:" << endl; cout << " - odnosnik do pliku nie zostal podany" << endl; cout << " - odnosnik do pliku jest nieprawidlowy" << endl; cout << " - brak odpowiednich uprawnien w systemie" << endl << endl; } system( "pause" ); }
void books::remove_file() { remove( sciezka.c_str() ); }
void books::load_file() { header(); plik.open( sciezka.c_str(), ios::in ); plik.close(); if( plik.good() ) { n = 0; plik.open( sciezka.c_str(), ios::in ); while( !plik.eof() ) { getline( plik, xtytul ); getline( plik, xautor ); getline( plik, xwydawnictwo ); plik >> xrok; plik >> xstrony; ksiazka.push_back( books( xautor, xtytul, xwydawnictwo, xrok, xstrony ) ); n++; } plik.close(); cout << "Wczytanie zakonczone sukcesem!" << endl << endl; } else { cout << "Error! Nie udalo sie otworzyc pliku!" << endl << endl; cout << "Mozliwe bledy:" << endl; cout << " - plik nie istnieje" << endl; cout << " - brak odpowiednich uprawnien w systemie" << endl << endl; } system( "pause" ); }
void books::path_file() { header(); cout << "Uwaga!!! Pamietaj aby podac prawidlowa sciezke do pliku!" << endl; cout << "Podajac sama nazwe pliku np - plik.txt - dokument tekstowy" << endl; cout << "zostanie utworzony w katalogu z uruchomionym programem." << endl << endl; cout << "Podaj sciezke pliku z rozszerzeniem .txt: "; clear(); getline( cin, sciezka ); }
void books::view_path_file() { header(); cout << "Aktualna sciezka do pliku to: " << sciezka << endl << endl; system( "pause" ); }
void books::information() { books::header(); cout << "Wykonanie: XXX" << endl; cout << "Klasa: III bT (2012/2013)" << endl; cout << "Srodowisko: Code::Bloks 10.05" << endl; cout << "Kompilator: GNU GCC" << endl; cout << "E-mail: XXX" << endl << endl; cout << "Dodatkowe:" << endl; cout << " + Program zabezpieczony jest przed 'niesfornym' uzytkownikiem" << endl; cout << " i nie da sie go 'zcrashowac' np podajac litere badz wyraz" << endl; cout << " do zmiennej 'int' (rok wydania, ilosc stron)." << endl; cout << " + Program dostepny na platformy: Linux / Windows (x32, x64)" << endl; cout << " + Nieograniczona tablica na ksiazki ( vector )" << endl; cout << " + Mozliwe wczytywanie pliku z ksiazkami do programu" << endl; cout << " - Program konsolowy. Byc moze niedlugo bedzie graficzny." << endl; cout << " - Nie gwarantuje poprawnosci kodu zrodlowego programu z innymi" << endl; cout << " kompilatorami niz w/w." << endl << endl; system( "pause" ); }
int main() { books book; do { do { system( "cls" ); book.header(); cout << "[1] Dodaj nowa ksiazke" << endl; cout << "[2] Edytuj ksiazke" << endl; cout << "[3] Usun ksiazke" << endl; cout << "[4] Wyswietl/Wyszukaj ksiazki" << endl; cout << "[5] Opcje" << endl; cout << "[6] Wykonanie/Kontakt" << endl; cout << "[0] Zakoncz" << endl << endl; cout << "Twoj wybor: "; book.clear(); cin >> book.wybor1; book.sprawdz = cin.good(); system( "cls" ); } while( book.sprawdz == false ); switch( book.wybor1 ) { case 1: { book.add_book(); break; } case 2: { book.edit_book(); break; } case 3: { book.remove_book(); break; } case 4: { do { do { system( "cls" ); book.header(); cout << "[1] Szukaj - Tytul" << endl; cout << "[2] Szukaj - Autor" << endl; cout << "[3] Szukaj - Wydawnictwo" << endl; cout << "[4] Szukaj - Rok wydania" << endl; cout << "[5] Szukaj - Ilosc stron" << endl; cout << "[6] Pokaz wszystkie" << endl; cout << "[0] Powrot" << endl << endl; cout << "Twoj wybor: "; book.clear(); cin >> book.wybor2; book.sprawdz = cin.good(); system( "cls" ); } while( book.sprawdz == false ); switch( book.wybor2 ) { case 1: { book.search_tytul(); break; } case 2: { book.search_autor(); break; } case 3: { book.search_wydawnictwo(); break; } case 4: { book.search_rok(); break; } case 5: { book.search_strony(); break; } case 6: { book.view_all_books(); break; } } } while( book.wybor2 ); break; } case 5: { do { do { system( "cls" ); book.header(); cout << "[1] Utworz plik z danymi" << endl; cout << "[2] Usun plik z danymi" << endl; cout << "[3] Podaj sciezke pliku" << endl; cout << "[4] Zaladuj plik" << endl; cout << "[5] Sprawdz aktualny odnosnik pliku" << endl; cout << "[0] Powrot" << endl << endl; cout << "Twoj wybor: "; book.clear(); cin >> book.wybor3; book.sprawdz = cin.good(); system( "cls" ); } while( book.sprawdz == false ); switch( book.wybor3 ) { case 1: { book.create_file(); break; } case 2: { book.remove_file(); break; } case 3: { book.path_file(); break; } case 4: { book.load_file(); break; } case 5: { book.view_path_file(); break; } } } while( book.wybor3 ); break; } case 6: { book.information(); break; } } } while( book.wybor1 ); return 0; }
Dlaczego jak zadeklaruję w klasie fstream plik; to wywala mi masę błędów ale chyba nie związanych z programem i do tego otwiera jakiś plik ios_base.h ? |
|
cyklopek11 |
» 2012-10-15 18:45:24 Z tego co "wyniuchałem" to obiekty iostream nie są kopiowalne (prywatny konstruktor kopiujący i operator przypisania). Myślę, że dlatego że jakbyś skopiował jakiś obiekt fstream file, i file byłby otwarty tylko do odczytu to inna część kodu po skopiowaniu mogłaby sobie kopie file otworzyć do zapisu i nieźle nabałaganić. Tak myślę, jeśli źle niech mnie ktoś poprawi. Na Twoim miejscu w klasie umieściłbym wskaźnik do fstream: a na liście inicjalizacyjnej konstruktora Twojej klasy umieść alokację pamięci na obiekt fstream: ... books::books( string xautor, string xtytul, string xwydawnictwo, int xrok, int xstrony ) : autor( xautor ) , tytul( xtytul ) , wydawnictwo( xwydawnictwo ) , rok( xrok ) , strony( xstrony ) , plik( new fstream ) W ten sposób kompilator będzie pewny, że nie będziesz się brał za kopiowanie strumieni :-) |
|
pekfos |
» 2012-10-15 18:53:05 Jakich? Jak chcesz mieć szybką odpowiedź, to nie utrudniaj.. |
|
Unlimited Temat założony przez niniejszego użytkownika |
» 2012-10-15 19:07:54 c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\ios_base.h||In member function 'std::basic_ios<char, std::char_traits<char> >& std::basic_ios<char, std::char_traits<char> >::operator=(const std::basic_ios<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\ios_base.h|793|error: 'std::ios_base& std::ios_base::operator=(const std::ios_base&)' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|error: within this context| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::operator=(const std::basic_istream<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|53|note: synthesized method 'std::basic_ios<char, std::char_traits<char> >& std::basic_ios<char, std::char_traits<char> >::operator=(const std::basic_ios<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_iostream<char, std::char_traits<char> >& std::basic_iostream<char, std::char_traits<char> >::operator=(const std::basic_iostream<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|59|note: synthesized method 'std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::operator=(const std::basic_istream<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_fstream<char, std::char_traits<char> >& std::basic_fstream<char, std::char_traits<char> >::operator=(const std::basic_fstream<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_iostream<char, std::char_traits<char> >& std::basic_iostream<char, std::char_traits<char> >::operator=(const std::basic_iostream<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\streambuf||In member function 'std::basic_filebuf<char, std::char_traits<char> >& std::basic_filebuf<char, std::char_traits<char> >::operator=(const std::basic_filebuf<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\streambuf|778|error: 'std::basic_streambuf<_CharT, _Traits>& std::basic_streambuf<_CharT, _Traits>::operator=(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|78|error: within this context| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_fstream<char, std::char_traits<char> >& std::basic_fstream<char, std::char_traits<char> >::operator=(const std::basic_fstream<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_filebuf<char, std::char_traits<char> >& std::basic_filebuf<char, std::char_traits<char> >::operator=(const std::basic_filebuf<char, std::char_traits<char> >&)' first required here | C:\Users\Unlimited\Desktop\projekt.cpp||In member function 'books& books::operator=(const books&)':| C:\Users\Unlimited\Desktop\projekt.cpp|15|note: synthesized method 'std::basic_fstream<char, std::char_traits<char> >& std::basic_fstream<char, std::char_traits<char> >::operator=(const std::basic_fstream<char, std::char_traits<char> >&)' first required here | C:\Users\Unlimited\Desktop\projekt.cpp||In member function 'void books::remove_book()':| C:\Users\Unlimited\Desktop\projekt.cpp|168|note: synthesized method 'books& books::operator=(const books&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|instantiated from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = books]'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|737|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'| C:\Users\Unlimited\Desktop\projekt.cpp|96|instantiated from here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\ios_base.h|790|error: 'std::ios_base::ios_base(const std::ios_base&)' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|error: within this context| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\streambuf|770|error: 'std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|78|error: within this context| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|instantiated from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = books]'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|737|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'| C:\Users\Unlimited\Desktop\projekt.cpp|96|instantiated from here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf(const std::basic_filebuf<char, std::char_traits<char> >&)' first required here | C:\Users\Unlimited\Desktop\projekt.cpp|15|note: synthesized method 'std::basic_fstream<char, std::char_traits<char> >::basic_fstream(const std::basic_fstream<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\ext\new_allocator.h||In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = books]':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\ext\new_allocator.h|105|note: synthesized method 'books::books(const books&)' first required here | ||=== Build finished: 8 errors, 0 warnings ===|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\ios_base.h||In member function 'std::basic_ios<char, std::char_traits<char> >& std::basic_ios<char, std::char_traits<char> >::operator=(const std::basic_ios<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\ios_base.h|793|error: 'std::ios_base& std::ios_base::operator=(const std::ios_base&)' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|error: within this context| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::operator=(const std::basic_istream<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|53|note: synthesized method 'std::basic_ios<char, std::char_traits<char> >& std::basic_ios<char, std::char_traits<char> >::operator=(const std::basic_ios<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_iostream<char, std::char_traits<char> >& std::basic_iostream<char, std::char_traits<char> >::operator=(const std::basic_iostream<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|59|note: synthesized method 'std::basic_istream<char, std::char_traits<char> >& std::basic_istream<char, std::char_traits<char> >::operator=(const std::basic_istream<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_fstream<char, std::char_traits<char> >& std::basic_fstream<char, std::char_traits<char> >::operator=(const std::basic_fstream<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_iostream<char, std::char_traits<char> >& std::basic_iostream<char, std::char_traits<char> >::operator=(const std::basic_iostream<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\streambuf||In member function 'std::basic_filebuf<char, std::char_traits<char> >& std::basic_filebuf<char, std::char_traits<char> >::operator=(const std::basic_filebuf<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\streambuf|778|error: 'std::basic_streambuf<_CharT, _Traits>& std::basic_streambuf<_CharT, _Traits>::operator=(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|78|error: within this context| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd||In member function 'std::basic_fstream<char, std::char_traits<char> >& std::basic_fstream<char, std::char_traits<char> >::operator=(const std::basic_fstream<char, std::char_traits<char> >&)':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_filebuf<char, std::char_traits<char> >& std::basic_filebuf<char, std::char_traits<char> >::operator=(const std::basic_filebuf<char, std::char_traits<char> >&)' first required here | C:\Users\Unlimited\Desktop\projekt.cpp||In member function 'books& books::operator=(const books&)':| C:\Users\Unlimited\Desktop\projekt.cpp|15|note: synthesized method 'std::basic_fstream<char, std::char_traits<char> >& std::basic_fstream<char, std::char_traits<char> >::operator=(const std::basic_fstream<char, std::char_traits<char> >&)' first required here | C:\Users\Unlimited\Desktop\projekt.cpp||In member function 'void books::remove_book()':| C:\Users\Unlimited\Desktop\projekt.cpp|168|note: synthesized method 'books& books::operator=(const books&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|instantiated from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = books]'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|737|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'| C:\Users\Unlimited\Desktop\projekt.cpp|96|instantiated from here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\ios_base.h|790|error: 'std::ios_base::ios_base(const std::ios_base&)' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|47|error: within this context| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\streambuf|770|error: 'std::basic_streambuf<_CharT, _Traits>::basic_streambuf(const std::basic_streambuf<_CharT, _Traits>&) [with _CharT = char, _Traits = std::char_traits<char>]' is private| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|78|error: within this context| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|instantiated from 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = books]'| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\bits\stl_vector.h|737|instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const _Tp&) [with _Tp = books, _Alloc = std::allocator<books>]'| C:\Users\Unlimited\Desktop\projekt.cpp|96|instantiated from here| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\iosfwd|87|note: synthesized method 'std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf(const std::basic_filebuf<char, std::char_traits<char> >&)' first required here | C:\Users\Unlimited\Desktop\projekt.cpp|15|note: synthesized method 'std::basic_fstream<char, std::char_traits<char> >::basic_fstream(const std::basic_fstream<char, std::char_traits<char> >&)' first required here | c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\ext\new_allocator.h||In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = books]':| c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\include\c++\ext\new_allocator.h|105|note: synthesized method 'books::books(const books&)' first required here | ||=== Build finished: 8 errors, 0 warnings ===|
cyklopek11, tak nie może być bo ten konstruktor jest wywoływany tyle razy ile podam dane książki, a wtedy za każdym razem będzie mi deklarować miejsce w RAM na plik. |
|
cyklopek11 |
» 2012-10-15 19:32:51 A sekwencja czynności: fstream * file = new fstream; file->open( "dane.txt", ios::app ); file->write( argumenty_aktualne ); file.close(); delete file;
|
|
Unlimited Temat założony przez niniejszego użytkownika |
» 2012-10-15 19:39:22 A może jest jakiś łatwiejszy sposób? Tak że tylko zadeklaruję i jest? Mam ten błąd odkąd używam vectora. Może coś z nim jest nie tak? Na początku miałem z tablicą to wszystko działało ale niestety tablica ograniczała ilość książek do wpisania. Także użyłem vectora i klapa. fstream wysypuje program |
|
cyklopek11 |
» 2012-10-15 19:43:28 |
|
Unlimited Temat założony przez niniejszego użytkownika |
» 2012-10-15 20:36:31 Dlaczego na to nie wpadłem? Proste rozwiązania czasami są najlepsze. Dzięki wielkie cyklop11 za podpowiedź |
|
« 1 » 2 3 |