incomplete types [message #8912] |
Thu, 25 June 2009 10:58 |
Anonymous Poster
|
|
From: *pool.einsundeins.de
|
|
Hi everybody,
I tried to make the GENFIT RecoHitFactory mechanism typesafe. In the produce method I cast a detector hit out of the TClonesArray to a hit_T* (which is specialized as an PndMvdHit for example. It works for the STT, TPC, DCH, .... but for the MVD IO have a problem.
If you try a dynamic_cast<PndMvdHit*>(hit) where hit is an TObject* which comes out of the TClonesArray, you get something like:
/Users/hoeppi/trunk/genfit/RecoHitProducer.h:100: error: cannot dynamic_cast '#'obj_type_ref' not supported by dump_expr#<expression error>((&((RecoHitProducer<PndMvdHit, PndMvdRecoHit>*)this)->RecoHitProducer<PndMvdHit, PndMvdRecoHit>::hitArrayTClones->TClonesArray::<anonymous>), index)' (of type 'class TObject*') to type 'struct PndMvdHit*' (target is not pointer or reference to complete type)
make[2]: *** [mvd/CMakeFiles/MvdTrk.dir/MvdTracking/PndMvdKalmanTask.o] Error 1
Google didnt really help me. Does anyone know what an incomplete type means. I thought it is a class where some methods where declared, but never defined. But I checked PndMvdHit an FairHit (which is its base class) but I didnt find anything.
I would really appreciate your help on this.
Cheers, Christian
|
|
|