Hi, Looking a bit further it seems that the problem with macros is: { if (whatever) { #include <iostream.h> } } doesn't work. { #include <iostream.h> } does work. So it's minor thing, solved now. Sorry for posting, Rutger On Sat, 5 Jun 1999, Rutger van der Eijk wrote: > Hi, > > I try to get my code running with ROOT v2.22/04 and run into a > small problem executing marcos. > > To be able to initialize certain members of an object without recompiling > I call a macro from within the object at initialization time. In this > macro I sometimes need to give output to cout. In v2.21 I had to use > #include <iostream.h> to be able to do this. (Not in an interactive > version because then it's in my rootlogon.C). Now this seems to give > conflict with CINT. > > > The call from the object: > > ------------ > StatusCode OTAlgorithm::setProperties() > { > // Set algorithm properties. > // This is done my calling the (CINT) C++ macro associated with this > algorithm. > > // set global algorithm to this algorithm > gOTAlgorithm = this; > > // create macro name > TString macroName = "i" + this->name() + ".C"; > > // execute macro > if (gROOT->Macro(macroName) != 0) { // however gROOT->Macro always > returns 0... > return StatusCode::FAILURE; > } > > // end > return StatusCode::SUCCESS; > } > ---------- > (parts) of the macro: > > > -------- > { > // check for global algorithm > if (!gOTAlgorithm) { > #include <iostream.h> > cout << "gOTAlgorithm not defined" << endl; > return; > } > > > ... > ... > > // initialize the algorithm > > ... > ... > } > ------- > > > > This gives the error with new ROOT: > > Error: class,struct,union or type intostream not defined > FILE:/afs/cern.ch/user/r/rutger/root/cint/include/iostream.h LINE:233 > > How should I handle this now(V2.22)? > > Rutger van der Eijk > > > > > > > > > > > >
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:34 MET