Push_back from stl::vector is giving me problems. If I run this code: #include <vector> (many other includes) void something() { mfile = TMapFile::Create("e.map"); // Get all data entries in file TMapRec *mr = mfile->GetFirst(); vector< TString* > hts; while (mfile->OrgAddress(mr)) { TString boo = mr->GetClassName(); if(boo.Contains("TH1F")) { TString* nname=new TString(mr->GetName()); hts.push_back(nname); cout << boo << "\t" << nname->Data() << endl; } mr = mr->GetNext(); } } If I comment out the line hts.push_back(nname); , this runs perfectly well (in CINT) over my entire TMapfile. However, if I uncomment that line (as shown) and run this in CINT, it seg faults after two iterations of the while loop, specifically on the TString boo = mr->GetClassName() . Is this a problem CINT has with vectors (which I doubt), or does this have something to do with how TMapFile handles pointers? Any advice would be appreciated. Thanks. David Relyea
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:37 MET