Hi, here I tried to use TMap to store pairs of keys and values. The FindObject(Text_t *) does not work in the example below. Do I use it wrong ? Later, I am planning to use TObjNum as the value in the TMap (that is a number inheriting from TObject, see http://root.cern.ch/root/html/examples/tcollex.C.html). Is there a reason why TObjNum is not part of root's classes? Is there a better why to realize maps between numbers and strings (keywords) than using TMap ? thanks for your help Dirk Example (also as attachment): { #include <iostream> TObjString *s1 = new TObjString("Alpha"); TObjString *s2 = new TObjString("Beta"); TMap *aMap = new TMap(); aMap->Add((TObject*)s1, (TObject*)s2); cout << aMap->GetValue(s1)->GetName() << endl; cout << "o.k., this was correct ... now try retrival using the keyname : " << endl; cout << aMap->FindObject("Alpha")->GetName() << endl; cout << "the FindObject method returns null pointer ???? Why ??" << endl; } here the output: ******************************************* * * * W E L C O M E to R O O T * * * * Version 2.21/01 14 January 1999 * * * * You are welcome to visit our Web site * * http://root.cern.ch * * * ******************************************* FreeType Engine v1.1 used to render TrueType fonts. CINT/ROOT C/C++ Interpreter version 5.13.83, Dec 2 1998 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }. root [0] .x aTMapTester.C Beta o.k., this was correct ... now try retrival using the keyname : Error: illegal pointer to class object FindObject("Alpha") 0x0 3 FILE:/home/dime/cc/prj/RawRead/./aTMapTester.C LINE:19 *** Interpreter error recovered *** root [1] // aTMapTester.C { #include <iostream> TObjString *s1 = new TObjString("Alpha"); TObjString *s2 = new TObjString("Beta"); TMap *aMap = new TMap(); aMap->Add((TObject*)s1, (TObject*)s2); cout << aMap->GetValue(s1)->GetName() << endl; cout << "o.k., this was correct ... now try retrival using the keyname : " << endl; cout << aMap->FindObject("Alpha")->GetName() << endl; cout << "the FindObject method returns null pointer ???? Why ??" << endl; }
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:32 MET