[Insight-developers] Statistics class changes in current CVSbothers GCC 4.0.1

Michal Sofka sofka at cs.rpi.edu
Fri Sep 30 17:10:34 EDT 2005


> I ran into a little problem this morning compiling ITK tests.  This may
> be compiler specific, but GCC 4.0.1 seems to need some help to pull
> typedefs down from the superclass.  

You updated in the middle of two commits and it has been fixed in the later
one. Please let me know if you still have problems. Visual Studio (.NET)
does not generate this error.

Michal.





The following patch gets me a clean
> compile at least, but since I've never worked on any of this code I am
> leery of just checking in my changes.
> 
> The error message I get is 'TotalFrequency does not define a type', and
> in looking through the headers, it seems that these classes don't
> locally typedef TotalFrequncyType, but the superclass does.
> 
> Index: itkHistogram.h
> ===================================================================
> RCS file:
> /cvsroot/Insight/Insight/Code/Numerics/Statistics/itkHistogram.h,v
> retrieving revision 1.48
> diff -c -r1.48 itkHistogram.h
> *** itkHistogram.h    30 Sep 2005 14:14:18 -0000    1.48
> --- itkHistogram.h    30 Sep 2005 16:08:15 -0000
> ***************
> *** 118,123 ****
> --- 118,126 ----
>     /** Frequency value type from superclass */
>     typedef typename FrequencyContainerType::FrequencyType FrequencyType ;
> 
> +   /** total frequency type from superclass */
> +   typedef typename Superclass::TotalFrequencyType TotalFrequencyType;
> +
>     /** Index typedef support. An index is used to access pixel values. */
>     typedef itk::Index< VMeasurementVectorSize >  IndexType;
>     typedef typename IndexType::IndexValueType  IndexValueType;
> Index: itkListSample.h
> ===================================================================
> RCS file:
> /cvsroot/Insight/Insight/Code/Numerics/Statistics/itkListSample.h,v
> retrieving revision 1.25
> diff -c -r1.25 itkListSample.h
> *** itkListSample.h    30 Sep 2005 14:14:18 -0000    1.25
> --- itkListSample.h    30 Sep 2005 16:08:16 -0000
> ***************
> *** 62,67 ****
> --- 62,68 ----
>     typedef typename Superclass::MeasurementVectorType
> MeasurementVectorType;
>     typedef typename Superclass::MeasurementType MeasurementType;
>     typedef typename Superclass::FrequencyType FrequencyType ;
> +   typedef typename Superclass::TotalFrequencyType TotalFrequencyType;
>     typedef typename Superclass::InstanceIdentifier InstanceIdentifier;
>     typedef typename Superclass::SearchResultVectorType
> SearchResultVectorType ;
> 
> Index: itkListSampleBase.h
> ===================================================================
> RCS file:
> /cvsroot/Insight/Insight/Code/Numerics/Statistics/itkListSampleBase.h,v
> retrieving revision 1.9
> diff -c -r1.9 itkListSampleBase.h
> *** itkListSampleBase.h    28 Jul 2005 18:36:16 -0000    1.9
> --- itkListSampleBase.h    30 Sep 2005 16:08:16 -0000
> ***************
> *** 61,67 ****
>     typedef typename Superclass::MeasurementType MeasurementType;
>     typedef typename Superclass::FrequencyType FrequencyType ;
>     typedef typename Superclass::InstanceIdentifier InstanceIdentifier;
> !
>     /** Vector of InstanceIdentifiers used for returning search
>      * results. */
>     typedef std::vector< InstanceIdentifier > SearchResultVectorType ;
> --- 61,67 ----
>     typedef typename Superclass::MeasurementType MeasurementType;
>     typedef typename Superclass::FrequencyType FrequencyType ;
>     typedef typename Superclass::InstanceIdentifier InstanceIdentifier;
> !   typedef typename Superclass::TotalFrequencyType TotalFrequencyType;
>     /** Vector of InstanceIdentifiers used for returning search
>      * results. */
>     typedef std::vector< InstanceIdentifier > SearchResultVectorType ;





More information about the Insight-developers mailing list