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

Kent Williams norman-k-williams at uiowa.edu
Mon Oct 31 11:15:47 EST 2005


I left my regression test checked in but removed it from CMakeLists.txt 
and itkCommonTests.  This class is pretty much optional, if removing it 
entirely seems a better way to do things.

Pablo Ybalo's suggested change apparently satisfies the Borland 
compiler, but it introduces a problem in that only classes that have 
Smart Pointers can be used as orientation types. 

I have BCC set up on an XP machine here, I'll try and see if I can come 
up with a solution palatable to that compiler.  I think that in this 
case, the compiler is wrong, but since it's a supported platform ...

Bill Lorensen wrote:

> We should remove this class until we resolve the problem. People get 
> erroneous e-mails. Then they start ignoring them.
> If you can't do it today (or fix it), I'll remove it tomorrow.
>
> Bill
>
> At 11:00 AM 10/28/2005, Kent Williams wrote:
>
>> 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?
>>
>> _______________________________________________
>> Insight-developers mailing list
>> Insight-developers at itk.org
>> http://www.itk.org/mailman/listinfo/insight-developers
>
>



More information about the Insight-developers mailing list