[ROOT] rootcint and vector<pair<> >

From: Richard S. Holmes (rsholmes@physics.syr.edu)
Date: Wed Dec 19 2001 - 18:18:47 MET


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