Hi Richard, I found and fixed the problem. The cvs repository should be updated soon with the fix. The issue appear only when the argument to pair does not have a space in its name. For example 'unsigned int' or 'unsigned char' (i.e. Bool_t) do work while int and char does not work in your context. Philippe. -----Original Message----- From: owner-roottalk@pcroot.cern.ch [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Richard S. Holmes Sent: Wednesday, December 19, 2001 11:19 AM To: roottalk@pcroot.cern.ch Subject: [ROOT] rootcint and vector<pair<> > I found reports of a similar problem to the following in the archives (thread starting at <http://root.cern.ch/root/roottalk/roottalk01/2987.html>) but it was not clear to me whether or how it had been resolved. It appears rootcint has trouble with member functions that return vector<pair<> > (or a pointer thereto). Specifically, if I have a class header containing vector<pair<Int_t,double> >* Bar() const; rootcint fails with error Error: No symbol pair<int in current scope FILE:/cern/root/cint/lib/prec_stl/vector LINE:105 Similar errors occur if Bar returns vector<pair<WHATEVER,double> >* where WHATEVER is bool, bool*, unsigned, int, double, or Double_t. Curiously enough, rootcint does NOT throw an error if WHATEVER is Bool_t, Bool_t*, UInt_t, or size_t. I didn't vary the second template argument much, but using Double_t seems to make no difference. I am using ROOT 3.02/06, CINT 5.15.21, Red Hat 6.2. Code samples, Makefile, and more detailed description of the problem may be found in an archive at <http://mepserv.phy.syr.edu/~rsholmes/foo.tar.gz>. -- Richard S. Holmes, Research Assistant Professor Physics Department, Syracuse University Syracuse, NY 13244 (315) 443-5977
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:12 MET