[Insight-developers] A few minor consistency issues

Bill Lorensen wlorens1 at nycap.rr.com
Thu Jan 12 17:11:46 EST 2006


I have gcc4 on my home machine. I'll take a look tomorrow. For the short 
term, go with your original fix. Remove the comparison.
Keep the bug open and assign it to me.

Thanks,

Bill

At 04:37 PM 1/12/2006, Zachary Pincus wrote:
>Hmm, no luck -- the same error appears for operator==.
>
>Perhaps the question to be asking is why isn't gcc (I am using gcc4)
>properly providing the implicit comparison operators for the functor
>classes? Any thoughts?
>
>Zach
>
>
>Here's some test code:
>#include "itkTernaryAddImageFilter.h"
>#include "itkImage.h"
>
>const unsigned int Dimension = 2;
>typedef unsigned short PixelType;
>typedef itk::Image<PixelType, Dimension>  ImageType;
>typedef itk::TernaryAddImageFilter<ImageType, ImageType, ImageType,
>ImageType> AddImageType;
>
>int main(int argc, char *argv[]) {
>   AddImageType::Pointer adder = AddImageType::New();
>   adder->SetFunctor(adder->GetFunctor());
>
>         return 0;
>}
>
>For reference, the Add3 functor used by this filter is defined as:
>template< class TInput1, class TInput2, class TInput3, class TOutput>
>class Add3
>{
>public:
>   Add3() {}
>   ~Add3() {}
>   inline TOutput operator()( const TInput1 & A,
>                              const TInput2 & B,
>                              const TInput3 & C)
>   { return (TOutput)(A + B + C); }
>};
>
>
>Which generates the following error:
>Insight/Code/BasicFilters/itkTernaryFunctorImageFilter.h: In member
>function 'void itk::TernaryFunctorImageFilter<TInputImage1,
>TInputImage2, TInputImage3, TOutputImage, TFunction>::SetFunctor (const 
>TFunction&) [with TInputImage1 = ImageType, TInputImage2 =
>ImageType, TInputImage3 = ImageType, TOutputImage = ImageType,
>TFunction = itk::Function::Add3<PixelType, PixelType, PixelType,
>PixelType>]':
>/Users/zpincus/Documents/Research/Theriot Lab/Development/Scratch/ Ternary 
>Test/writer.cxx:13:   instantiated from here
>/Developer/Local/ITK-CVS/Insight/Code/BasicFilters/ 
>itkTernaryFunctorImageFilter.h:95: error: no match for 'operator=='
>in 'functor == ((itk::TernaryFunctorImageFilter<ImageType, ImageType,
>ImageType, ImageType, itk::Function::Add3<PixelType, PixelType,
>PixelType, PixelType> >*)this)- >itk::TernaryFunctorImageFilter<ImageType, 
>ImageType, ImageType,
>ImageType, itk::Function::Add3<PixelType, PixelType, PixelType,
>PixelType> >::m_Functor'
>
>This is the same error as when using operator!=.
>
>_______________________________________________
>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