Salve, devo creare due funzioni di una classe che memorizzino e leggano dati su/da file di testo.
Questi sono i prototipi:
e queste le implementazioni:codice:virtual void memorizza_dati(ofstream &); virtual void visualizza_dati(ifstream &);
Solo che mi da questi errori:codice:void Manoscritto::memorizza_dati(ofstream & OutFile){ char buffer[20]; cout << "Inserire il nome del file in cui memorizzare dati: "; cin >> buffer; OutFile(buffer,ios::out | ios::app); OutFile << Codice << " " << Autore << " " << numpag << " " << Formato << endl; OutFile.close(); } void Manoscritto::visualizza_dati(ifstream & InFile){ char buffer[20]; cout << "Inserire il nome del file in cui memorizzare dati: "; cin >> buffer; InFile(buffer,ios::in); InFile >> Codice >> Autore >> numpag >> Formato; InFile.close(); }
no match for call to `(std::basic_ofstream<char, std::char_traits<char> >) (char[20], std::_Ios_Openmode)'
no match for call to `(std::basic_ifstream<char, std::char_traits<char> >) (char[20], const std::_Ios_Openmode&)'
Che ho visto dipendono dal fatto che i parametri di stream sono passati dall'esterno (infatti dichiarandoli all'interno della funzione, va tutto liscio). Come posso correggere il codice per far passare i parametri di stream dall'esterno?
Grazie in anticipo per l'aiuto.

Rispondi quotando
