|
Boost : |
From: Giovanni Bajo (giovannibajo_at_[hidden])
Date: 2004-08-13 01:43:36
Neal Becker wrote:
>>> g++34 -x c++ -fsyntax-only
>>> -I /usr/local/src/boost.cvs /usr/local/src/boost.cvs/boost/range.hpp
>>> In file included from /usr/local/src/boost.cvs/boost/range.hpp:21:
>>> /usr/local/src/boost.cvs/boost/range/sub_range.hpp:66: error:
>>> `iterator' does not name a type
>>> /usr/local/src/boost.cvs/boost/range/sub_range.hpp:66: error:
>>> (perhaps `typename boost::iterator_range<typename
>>> boost::result_iterator_of<C>::type>::iterator' was intended)
>>> /usr/local/src/boost.cvs/boost/range/sub_range.hpp:68: error:
>>> `iterator' does not name a type
>>> /usr/local/src/boost.cvs/boost/range/sub_range.hpp:68: error:
>>> (perhaps `typename boost::iterator_range<typename
>>> boost::result_iterator_of<C>::type>::iterator' was intended)
>>>
>>
>> This patch seems to fix it:
Yes, this workarounds a bug in GCC: using-declaration are still implemented
following the old-style ARM access-declarations. This is true of every GCC
version. In other words, there is no way GCC will remember that 'iterator' is a
typename just because you said so in a using-declaration.
-- Giovanni Bajo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk