RE: [ROOT] Limitation in creating dictionary

From: Philippe Canal (pcanal@fnal.gov)
Date: Fri Oct 31 2003 - 22:16:29 MET


Hi Guido,

I can reproduce this problem and will investigate a solution.
In the meantime use the following trick to hide this function from CINT.

#ifndef __CINT__
vector<myclass**> myfunc();
#endif

Cheers,
Philippe

-----Original Message-----
From: owner-roottalk@pcroot.cern.ch
[mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Guido Gagliardi
Sent: Friday, October 31, 2003 9:26 AM
To: 'roottalk@pcroot.cern.ch'
Subject: [ROOT] Limitation in creating dictionary


Hi,
i found out that this line in my header file:

vector<myclass **> myfunc();

is not accepted by rootcint, which issues this error message:

Generating dictionary RootDBDict.cxx...
Limitation: reference or pointer type not handled properly 
FILE:prec_stl/vector LINE:49
Limitation: reference or pointer type not handled properly 
FILE:prec_stl/vector LINE:50
Syntax error FILE:prec_stl/vector LINE:220
Warning: Error occured during reading source files
Note: Link requested for undefined class RootDB (ignore this message) 
FILE: LINE:0
Warning: Error occured during dictionary source generation
!!!Removing RootDBDict.cxx RootDBDict.h !!!
Error: rootcint: error loading headers...
make: *** [RootDBDict.cxx] Error 1


Is this normal? There is a way to have a function returning a standard 
vector of  pointers to pointers to myclass? I need it because the first 
pointer is used to exploit polymorphism, and  the second  pointer is to 
access to a myclass container.

Thank you

Guido



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET