DGtal-team/DGtal — Issue #289: Build problem on macos due to recursive typedef ?
Author: dcoeurjo
Created: 2012-03-03 12:44:54+00:00
State: open
Labels: Kernel, Topology

In my mac (default compiler), SetOfSurfels does not compile. Basically, the compiler does not match the "current()" method since the type surfel in the inner class "Tracker" is typedefed from its parent class but defined later...

Not sure but there is a weird recursive effect here between Tracker and SetOfSurfles classes

In file included from /Users/davidcoeurjolly/Sources/DGtal/src/DGtal/topology/SetOfSurfels.h:336,
from /Users/davidcoeurjolly/Sources/DGtal/tools/volumetric/3dVolMarchingCubes.cpp:33:
/Users/davidcoeurjolly/Sources/DGtal/src/DGtal/topology/SetOfSurfels.ih:80: error: prototype for 'const typename DGtal::SetOfSurfels::Tracker::Surfel& DGtal::SetOfSurfels::Tracker::current() const' does not match any in class 'DGtal::SetOfSurfels::Tracker'
/Users/davidcoeurjolly/Sources/DGtal/src/DGtal/topology/SetOfSurfels.h:114: error: candidate is: const typename DGtal::SetOfSurfels::Surfel& DGtal::SetOfSurfels::Tracker::current() const
/Users/davidcoeurjolly/Sources/DGtal/src/DGtal/topology/SetOfSurfels.ih:80: error: template definition of non-template 'const typename DGtal::SetOfSurfels::Tracker::Surfel& DGtal::SetOfSurfels::Tracker::current() const'