Hello!
Ole Streicher writes:
> When I put the "ClassDef" line into the class declaration, I get a
> number of mystic linking errors when compiling the class:
I managed that a to be a bit more sucessfull. The mein problem was
that "rootcint" doesn't accept the "const" modifier in the definition
of member variables. (why?)
Now I can compile and link my program. However, when I try to use it
from "root", I get some mysterious errors:
root [0] gSystem->Load("run/.libs/libmyrun");
root [1] using namespace my;
root [2] MyRun run("ll",1);
Error: Can't call MyRun::MyRun("ll",1) in current scope FILE:/tmp/file4YJOh0_cint LINE:1
Possible candidates are...
filename line:size busy function type and name (in MyRun)
(compiled) 0:0 0 public: my::MyRun MyRun(my::string,int,my::string=none);
(compiled) 0:0 0 public: my::MyRun MyRun(const my::MyRun&);
*** Interpreter error recovered ***
What I could imagine is that "root" has problems with namespaces; I
declared the constructor of MyRun as
my::MyRun::MyRun(std::string, int, std::string = "none");
but Root thinks it is
my::MyRun::MyRun(my::string,int,my::string=none);
What can I do that it takes "string" from namespace std and not from
namespace "my"? And why it changes the namespace at all? Within a
compiled program, everything works fine.
Ole
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:06 MET