Library

From: Frederic MACHEFERT (machefer@hep.saclay.cea.fr)
Date: Fri Jan 29 1999 - 09:41:09 MET


	Hello, 

I try to create a shared library containing several personal classes and I
have some problems including a class which is supposed to manage 
input/output on disk. The compilation of the code is correct but the
dictionary I build doesn't compile and produce the following error message
: 

CC: "Dictionary.cxx", line 158: error: void ofstream::ofstream(const class
ofstream&) cannot access void ios::ios(const ios&): private member (1655)
CC: "Dictionary.cxx", line 158: error: void fstreambase::fstreambase(const
class fstreambase&) cannot access void ios::ios(const ios&): private
member (1655)
CC: "Dictionary.cxx", line 158: error: void filebuf::filebuf(const class
filebuf&) cannot access void streambuf::streambuf(const streambuf&):
private member (1655)
CC: "Dictionary.cxx", line 158: error: void ostream::ostream(const class
ostream&) cannot access void ios::ios(const ios&): private member (1655)
CC: "Dictionary.cxx", line 158: error: void ifstream::ifstream(const class
ifstream&) cannot access void ios::ios(const ios&): private member (1655)
CC: "Dictionary.cxx", line 158: error: void istream::istream(const class
istream&) cannot access void ios::ios(const ios&): private member (1655)

Although I included the iostream.h, iomanip.h and fstream.h header files. 
I work on HP-UX10.20 and the root version is 2/20.06 on CC compiler.

Here is the header file of my class :
class DataManager{
protected:
  ofstream Log;
  ifstream ODF;
public:
  DataManager(char*);
  void ConnectLog(char*);
  void ConnectODF(char*);
  void DisConnectLog();
  void DisConnectODF();
  ClassDef(DataManager,0)
};

and this is the definition of one of my member functions :
void DataManager::ConnectLog(char *name){
  Log.open(name,ios::out);
  if(Log.bad()){
    cerr<<"Can't open Log file "<<name<<"\n";
    exit(0);
  }
  Log<<"Connecting Log File ..."<<name<<"\n";	
  cout<<"Connecting Log File ... "<<name<<"\n";
}

Thank you for your help,
Frederic.

-------- Frederic Machefert ------------
DAPNIA/SPP - Bat. 141 - Piece 26B
CEA-SACLAY - 91191 GIF-SUR-YVETTE Cedex - FRANCE
tel: (33) 01 69 08 46 03  fax: (33) 01 69 08 36 49
Frederic.Machefert@cea.fr



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:28 MET