Salut!
j'ai une classe SimilarityVectorCalculator templatee sur class TNodeType qui fonctionne. Je voudrais faire heriter publiquement de cette classe une classe SimilarityVectorCalculatorBis dont une des methodes utilise un attribut protege de sa mere. A la compilation, je recois un message d'erreur comme quoi il ne connait pas m_Div (l'attribut protege de sa mere en qn):itkSimilarityVectorCalculatorBis.txx:52: error: `m_Div' undeclared (first use this function)
Code :
- template <class TNodeType>
- class ITK_EXPORT SimilarityVectorCalculator : public ProcessObject
- {
- public:
- //...
- protected:
- SimilarityVectorCalculator();
- virtual ~SimilarityVectorCalculator();
- SimilarityVectorCalculator(const Self& ) {}
- typename SampleType::Pointer m_Div;
- //...
- }
|
Code :
- template <class TNodeType> class ITK_EXPORT SimilarityVectorCalculatorBis : public SimilarityVectorCalculator<TNodeType>
- {
- public:
- virtual ArrayType* BuildArray(TreeType* fixed,TreeType* moving, MeshingType* mesh);
- //...
- protected:
- SimilarityVectorCalculatorBis():Superclass(){};
- virtual ~SimilarityVectorCalculatorBis(){};
- SimilarityVectorCalculatorBis(const Self& ) {}
- }
|
Code :
- template <class TNodeType>
- typename SimilarityVectorCalculatorBis<TNodeType>::ArrayType*
- SimilarityVectorCalculatorBis<TNodeType>
- ::BuildArray(TreeType* fixed,TreeType* moving, MeshingType* mesh)
- {
- //...
- m_Div->FillWith(moving->GetNumberOfLevels(),0);
- //...
- }
|
Si qqn voit l'erreur que j'ai faite, ce serait cool!