Bonjour, j'ai une classe File dans la quelle j'ai déclarer un attribut ofstream afin de pouvoir le réutiliser partout dans ma classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
class File
{
    public:
        File(string filename);
        virtual ~File();
        void openWrite();
        void closeWrite();
        void writeInt(int i);
    protected:
    private:
        string filename;
        ofstream out;
};
Le problème c'est que si je veux ouvrir le flux out avec un nom de fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
void File::openWrite() {
    out(filename.c_str());
    if(!out.is_open()) {
        cout << "impossible d'ouvrir '" << filename << "'" << endl;
        exit(EXIT_FAILURE);
    }
}
J'ai une erreur à la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
/home/pj/CPLUSPLUS/Drawing/src/File.cpp|10|erreur: no match for call to ‘(std::ofstream {aka std::basic_ofstream<char>}) (const char*)’|
la ligne 10 c'est out(filename.c_str());

Merci pour votre aide !