Salve a tutti ragazzi, sto avendo non pochi problemi con una funzione che accetta come parametro uno stream.
Il codice è qualcosa del genere:
#ifndef MYCLASS_H
#define MYCLASS_H
class MyClass {
bool X;
public:
MyClass();
void Salva(ostream &);
~MyClass();
};
#endif
#include "MyClass.h"
#include <iostream>
#include <fstream>
using namespace std;
void MyClass::Salva(ostream &stream) {
(X)? stream<<"Privato\n" : stream<<"Pubblico\n";
};
bene, quando provo a compilare questa parte di codice, il compilatore mi dà questi due errori:
error C2061: syntax error : identifier 'ostream'
error C2511: 'Salva' : overloaded member function 'void (class std::basic_ostream<char,struct std::char_traits<char> > &)' not found in 'MyClass'
c:\documents and settings\utente\MyClass.h(3) : see declaration of MyClass'
Quello che voglio ottenere è un'unica funzione in grado di scrivere le stesse cose sia su schermo e sia su un file di testo.
Ho provato anche a creare e compilare una versione semplificata del codice, senza dividere l'header dal codice sorgente, e funziona a dovere. Quindi vorrei capire, che cosa sto sbagliando in questo codice? Potete darmi una mano? Sono disperata, lo devo consegnare a giorni Vi ringrazio in anticipo!