[ROOT] rootcint and TString

From: Eddy Offermann (eddy@rentec.com)
Date: Fri Sep 13 2002 - 03:04:39 MEST


Dear Root-ers,


In version 3.03.08 SunOS, I have the following problem when using TString in cint:

root [0] TString aap("noot")
root [1] cout << aap
(ostream)723744
root [2] cout <<aap.Data()
noot(ostream)723744
root [3] TString mies = TString("noot")+aap
Error: Can't call TString::TString("noot")+aap in current scope FILE:/var/tmp/faa04a48L_cint LINE:1
Possible candidates are...
filename       line:size busy function type and name  (in TString)
(compiled)        0:0    0 protected: TString TString(const char* a1,Ssiz_t n1,const char* a2,Ssiz_t n2);
(compiled)        0:0    0 public: TString TString(void); //Null string
(compiled)        0:0    0 public: TString TString(Ssiz_t ic); //Suggested capacity
(compiled)        0:0    0 public: TString TString(const TString& s);
(compiled)        0:0    0 public: TString TString(const char* s); //Copy to embedded null
(compiled)        0:0    0 public: TString TString(const char* s,Ssiz_t n); //Copy past any embedded nulls
(compiled)        0:0    0 public: TString TString(char c);
(compiled)        0:0    0 public: TString TString(char c,Ssiz_t s);
(compiled)        0:0    0 public: TString TString(const TSubString& sub);
*** Interpreter error recovered ***

1) cout << aap does not return "noot" but cout << aap.Data() does
2) TString mies = TString("noot")+aap faile sbut TString mies; mies += TString("noot") works .

Eddy



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:09 MET