[Insight-developers] Borland sees pure virtual class where none exists?

Kent Williams norman-k-williams at uiowa.edu
Fri Oct 28 11:00:15 EDT 2005


I'm going to see about getting BCC32 installed on a Windows box here to 
test with, but maybe some of you all might have been bitten by this 
problem before:

I checked in a new class itk::QuaternionOrientationAdapter earlier this 
week.  This is derived from itk::OrienationAdapter.  OrientationAdapter 
is a pure virtual class, whose reason to exist is to define function 
signature for different orientation adapters; it's templated over the 
type used to represent orientation.

The QuaternionOrientationAdapter is derived using 
itk::QuaternionRigidTransform<double> as the Orientation Type. Every 
compiler besides BCC32 accepts this without a whimper.  BCC32 has this 
complaint:
*
*Error E2352 
c:\Builder\Sources\Insight\Code\Common\itkOrientationAdapter.h 47: 
Cannot create instance of abstract class 
'itk::QuaternionRigidTransform<double>'

Well, If you look at itkQuaternionRigidTransform.h, it's the case that 
it is NOT an abstract class; it contains no virtual methods without a 
definition. So the Borland compiler must be confused, and I'm not clear 
how I would de-confuse it.  Anyone have a guess as to what I should do?



More information about the Insight-developers mailing list