J'ai un soucis dans mon programme. J'ai deux classes Fichier qui ouvre 2 fichiers (1 en écriture et l autre en lecture binaire) et une autre classe Convert qui convertit le fichier binaire dans le format ASCII.

Le soucis je veux mettre un objet Fichier dans mes données public de Convert pour pouvoir travailler dessus.

Le problème lors de la compile, il plante.
Voici les headers :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef _Convert_
#define _Convert_
 
#include <iostream>
#include <fstream>
#include <string>
#include "Fichier.hpp"
class Convert
{
  public:    
     float ConvertBinToFloat(int& pos,int size);
     int ConvertBinToInt(int& pos,int size);
     char ConvertBinToChar(int& pos,int size);
     long ConvertBinToLong(int& pos,int size);
     inline int getSize(){return size;}
     inline std::string getNameFileOut(){return name;}
     Convert();
     Fichier fichier;
  private:
     int size;
     std::string name;
};
 
#endif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#ifndef _Fichier_
#define _Fichier_
 
#include <iostream>
#include <fstream>
 
class Fichier
{
  public:
     Fichier();
     Fichier(std::string name);
     void Append();
     std::ofstream FileOut;
     std::ifstream FileIn;    
  private:
 
 
};
 
#endif
Voici l'erreur de compil :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
In file included from /usr/include/c++/4.4/ios:39,
                 from /usr/include/c++/4.4/ostream:40,
                 from /usr/include/c++/4.4/iostream:40,
                 from main.cpp:1:
/usr/include/c++/4.4/bits/ios_base.h: In copy constructor ‘std::basic_ios<char, std::char_traits<char> >::basic_ios(const std::basic_ios<char, std::char_traits<char> >&)’:
/usr/include/c++/4.4/bits/ios_base.h:790: error: ‘std::ios_base::ios_base(const std::ios_base&)’ is private
/usr/include/c++/4.4/iosfwd:47: error: within this context
/usr/include/c++/4.4/iosfwd: In copy constructor ‘std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(const std::basic_ofstream<char, std::char_traits<char> >&)’:
/usr/include/c++/4.4/iosfwd:84: 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 
/usr/include/c++/4.4/streambuf: In copy constructor ‘std::basic_filebuf<char, std::char_traits<char> >::basic_filebuf(const std::basic_filebuf<char, std::char_traits<char> >&)’:
/usr/include/c++/4.4/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
/usr/include/c++/4.4/iosfwd:78: error: within this context
/usr/include/c++/4.4/iosfwd: In copy constructor ‘std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(const std::basic_ofstream<char, std::char_traits<char> >&)’:
/usr/include/c++/4.4/iosfwd:84: 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 
In file included from Convert.hpp:7,
                 from main.cpp:4:
Fichier.hpp: In copy constructor ‘Fichier::Fichier(const Fichier&)’:
Fichier.hpp:8: note: synthesized method ‘std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(const std::basic_ofstream<char, std::char_traits<char> >&)’ first required here 
In file included from main.cpp:4:
Convert.hpp: In copy constructor ‘Convert::Convert(const Convert&)’:
Convert.hpp:9: note: synthesized method ‘Fichier::Fichier(const Fichier&)’ first required here 
main.cpp: In function ‘int main()’:
main.cpp:10: note: synthesized method ‘Convert::Convert(const Convert&)’ first required here
Si quelqu' un pouvait m'expliquer mon erreur.

Merci