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