templates with rootcint

Terrence Brannon (brannon@quake.usc.edu)
22 Jun 1997 15:55:27 -0700


I have a class with a DLList as component:
#include "Rtypes.h"

class Blackboard {
private:
DLList<Filter *> filter_list;
...
ClassDef(Blackboard,0)
};

#endif

When just declaring what a DLList is as follows:

#ifndef __CINT__
#include "Filter.h"
#include <DLList.h>
#else
class Filter;
template DLList; // <---------- key line
#endif

I get the following errors:

Class DLList<Filter*>: Streamer() not declared
Class DLList<Filter*>: ShowMembers() not declared

When including the DLList definition:

#ifndef __CINT__
#include "Filter.h"
#include <DLList.h>
#else
class Filter;
#include <DLList.h> // <---------- key line
#endif

I get the following erros

g++ -fPIC -I/usr/X11R6/include -I/usr/include/g++ -I/oscar/public/root/include -c dictionary.cc
dictionary.cc:3596: no matching function for call to `DLList<Filter *>::operator () ()'
/usr/include/g++/DLList.h:123: candidates are: DLList<Filter *>::operator ()(void *) const
/usr/include/g++/DLList.h:119: DLList<Filter *>::operator ()(void *)
dictionary.cc:3597: confused by earlier errors, bailing out
make: *** [dictionary.o] Error 1

Therefore I am between a rock and a hard place and don't know which
way out!

-- 
o============o  Sending unsolicited commercial e-mail (UCE)  to this address
 Legal Notice   is indication of your consent to pay me $120/hour for 1 hour
o============o  minimum for professional proofreading & technical assessment.
  Terrence Brannon * brannon@quake.usc.edu * http://quake.usc.edu/~brannon