Re: [CINT} stl and cint. was [ROOT] stl and root.

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed Dec 12 2001 - 08:18:55 MET


Hi Colin,

I forwarded your mail to Masa.
Meanwhile, I suggest the following procedure.
Assuming your file below is called stl.C
you can do the following via ACLIC

root > .L stl.C++
root > TestMap()


Rene Brun


Colin Bernet wrote:
> 
> Dear all,
> 
> First of all, I apologize if you already received this email. I subscribed
> to the list today, and I'm not sure somebody got this mail (at least I
> didn't get it back !).
> 
> Maybe the CINT version I'm using is too old (root 3.00/06), but the
> following macro doesn't work :
> 
> #include <map>
> #include <vector>
> #include <string>
> 
> void TestMap() {
>   map<int, const char*> m;
>   m[1]="colin";
>   m[2]="bernet";
>   cout<<m[1]<<" "<<m[2]<<endl;
> }
> 
> void TestVector() {
>   vector< const char* > m;
>   m.push_back("hello");
>   m.push_back("world");
>   cout<<m[0]<<" "<<m[1]<<endl;
> }
> 
> void TestString() {
>   string s="Hello ";
>   s += "world";
>   cout<<s<<endl;
> }
> 
> only the function TestString doesn't lead to an error.
> 
> TestVector() gives :
> Error: Illegal pointer operation (tovalue)
> FILE:TestMap.C LINE:19 Error: << Illegal operator for pointer 3
> FILE:TestMap.C LINE:19
> *** Interpreter error recovered ***
> 
> TestMap() gives :
> Error: No symbol map in current scope FILE:TestMap.C
> LINE:6 Error: No symbol int,constchar in current scope FILE:TestMap.C
> LINE:6 Error: G__getvariable: expression FILE:TestMap.C LINE:6 Error: No
> symbol m in current scope FILE:TestMap.C LINE:6 (const int)0 ***
> Interpreter error recovered ***
> 
> Which version of root should I use ?
> Thanks !
> 
> Colin



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:11 MET