[fdo-trac] #11: FdoPool - Clear() method illegal C++ code?
FDO
trac_fdo at osgeo.org
Wed Feb 21 12:14:25 EST 2007
#11: FdoPool - Clear() method illegal C++ code?
-----------------------+----------------------------------------------------
Reporter: warmerdam | Owner: gavincramer
Type: defect | Status: closed
Priority: major | Milestone: 3.3.0
Component: FDO API | Version: 3.3.0
Severity: 3 | Resolution: fixed
Keywords: | External_id:
-----------------------+----------------------------------------------------
Changes (by gavincramer):
* status: new => closed
* resolution: => fixed
Comment:
There were two issues in new code that newer GCC versions did not like.
One issue was a template's method call that needs explicit reference to
the base type. I am not sure why this is needed, because there was no
ambiguity. Regardless, the fix was trivial.
The second issue was dereferencing a pointer whose type was only forward-
declared. The compiler was clearly correct in flagging this. The earlier
compilers must have been pulling in the type through non-obvious means.
The forward-declaration was to avoid a circular reference. The fix was to
delegate from the given method (an inline function in a header file) to
one that had the right type available (not inline, slightly slower, only
called once in object's lifetime).
Both issues are fixed in the trunk with r2557, and in the 3.2.x branch
with Revision 785.
--
Ticket URL: <http://trac.osgeo.org/fdo/ticket/11#comment:1>
FDO <http://fdo.osgeo.org/>
Feature Data Objects
More information about the fdo-trac
mailing list