Salve,
stò creando un programmino per copiare i valori di una lista in un file di testo e viceversa, però purtroppo nella compilazione del sorgente, l'editor mi restituisce precisamene 5 errori, di questo tipo:
Ecco il sorgente:codice: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|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\Gaten\Desktop\listafile.cpp||In function 'int main()':| C:\Users\Gaten\Desktop\listafile.cpp|45|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:\Users\Gaten\Desktop\listafile.cpp|45|error: initializing argument 2 of 'void CopyListInFile(lista*, std::fstream)'| ||=== Build finished: 5 errors, 0 warnings ===|
codice:#include<iostream> #include<fstream> using namespace std; /* creo la struttura della lista */ struct nodo { int value; nodo *link; }; typedef struct nodo lista; /* end */ /* prototipi delle functions */ bool list_is_empty(lista *head); lista Insert(lista *&head, int elemento); void CopyListInFile(lista *head, fstream FILE); //void CopyFromFileInList(lista *&head, fstream FILE); /* entry point */ int main() { char choise; int elemento, scelta; lista *head=NULL; fstream FILE; FILE.open ("test.txt"); /* riempio la lista con valori interi */ cout<<"Inserisci i valori nella lista:"<<endl; do { cout<<"Inserisci l'elemento:"<<endl; cin>>elemento; Insert(head, elemento); cout<<"Vuoi continuare ad inserire elementi?"<<endl; cin>>choise; } while (choise == 's' || choise == 'S'); /* end Insert */ CopyListInFile(head, FILE); /*switch (scelta){ case 1: // Copio la lista nel FILE break; case 2: // Copio i valori dal FILE in lista break; }*/ } /* end main */ /* function list_is_empty */ bool list_is_empty(lista *head){ if (head == NULL) return true; else return false; } /* end list_is_empty */ /* function Insert */ lista Insert(lista *&head, int elemento){ //alloco dinamicamente memoria per il nuovo nodo lista *new_node=new lista; new_node->value=elemento; new_node->link=NULL; //se la lista è vuota, inserisco il primo elemento if (list_is_empty(head)){ head=new_node; }else{ //altrimenti dichiaro un puntatore temp. per inizializ.la testa lista *temp; temp=head; //scorro la lista fino ad arrivare a NULL while (temp != NULL){ temp=temp->link; } //collego il nuovo nodo alla fine della lista temp->link=new_node; } } /* end Insert */ /* function CopyListInFile */ void CopyListInFile(lista *head, fstream FILE){ /* SCOPO: * Copiare il contenuto della lista all'interno del file */ cout<<endl<<"Scrittura in corso..."<<endl; while(head != NULL){ // scorro la lista fino all'ultimo elemento FILE<<head->value<<endl; } /* chiudo il file */ FILE.close(); cout<<endl<<"Scrittura avvenuta con successo!"; } /* end CopyLitInFile */

Rispondi quotando