[Insight-developers] Errors on bcc build
Joshua Cates
cates@sci.utah.edu
Mon, 11 Nov 2002 13:25:56 -0700 (MST)
Hi Lydia,
Yes I've tried various things like this and it still fails. It's very
mysterious because I cannot locate the difference between what you did in
your filter and what I'm doing in mine.
Josh.
______________________________
Josh Cates
School of Computer Science
University of Utah
Email: cates@sci.utah.edu
Phone: (801) 587-7697
URL: www.cs.utk.edu/~cates
On Mon, 11 Nov 2002, Lydia Ng wrote:
> This is just a wild guess - does it make a difference if the declaration of TOuputImage is on
> one line instead of two?
>
> You did ask for *any* suggestion :-)
>
> -Lydia
>
> -----Original Message-----
> From: Joshua Cates [mailto:cates@sci.utah.edu]
> Sent: Mon 11/11/2002 11:20 AM
> To: Insight-Developers
> Cc:
> Subject: [Insight-developers] Errors on bcc build
>
>
>
> Hi,
>
>
> itk::FastMarchingExtensionImageFilter has the following template parameter
> definition,
>
>
> template <
> class TLevelSet,
> class TSpeedImage =
> Image<float,::itk::GetImageDimension<TLevelSet>::ImageDimension> >
> class ITK_EXPORT FastMarchingImageFilter :
> public ImageToImageFilter<TSpeedImage,TLevelSet>
>
>
> itk::SegmentationLevelSetImageFilter uses an almost identical construction
> but with the addition of a template parameter to define the output pixel
> type,
>
>
> template <class TInputImage,
> class TFeatureImage,
> class TOutputPixelType = float,
> class TOutputImage = Image<TOutputPixelType,
> ::itk::GetImageDimension<TInputImage>::ImageDimension> >
> class ITK_EXPORT SegmentationLevelSetImageFilter
> : public SparseFieldLevelSetImageFilter<TInputImage, TOutputImage>
>
>
>
> The BCC compiler cannot handle this second construction, but then also
> chokes on,
>
> template <class TInputImage,
> class TFeatureImage,
> class TOutputImage = Image<float,
> ::itk::GetImageDimension<TInputImage>::ImageDimension> >
> class ITK_EXPORT SegmentationLevelSetImageFilter
> : public SparseFieldLevelSetImageFilter<TInputImage, TOutputImage>
>
>
> which is essentially identical to FastMarchingExtensionImageFilter.
>
>
> The problem seems to be that
> ::itk::GetImageDimension<TInputImage>::ImageDimension is not resolving to
> a unsigned int number as it should.
>
> Witness the original error statement from bcc as seen on the dashboard:
>
> Error E2402
> C:\itkQuality\Borland\Insight\Code\Algorithms\itkLaplacianSegmentationLevelSetImageFilter.h
> 101: Illegal base class type: formal type
> 'itk::SegmentationLevelSetImageFilter<TInputImage,TFeatureImage,TOutputPixelType,itk::Image<TOutputPixelType,>
> >' resolves to
> 'itk::SegmentationLevelSetImageFilter<LSIFTN::SeedImageType,LSIFTN::ImageType,float,itk::Image<TOutputPixelType,>
> >' in function itkLaplacianSegmentationLevelSetImageFilterTest(int,char * *)
>
>
>
> Note that the fourth parameter to itk::SegmentationLevelSetImageFilter is
> an incomplete definition of an itk::Image.
>
>
> Any ideas or help with debugging this problem would be appreciated.
>
> Thanks,
>
> Josh.
>
>
>
>
>
>
> ______________________________
> Josh Cates
> School of Computer Science
> University of Utah
> Email: cates@sci.utah.edu
> Phone: (801) 587-7697
> URL: www.cs.utk.edu/~cates
>
>
> _______________________________________________
> Insight-developers mailing list
> Insight-developers@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-developers
>
>
>
>