[Boost-bugs] [Boost C++ Libraries] #10397: compilation error with mfc-iteratior-support: ambiguous symbol

Subject: [Boost-bugs] [Boost C++ Libraries] #10397: compilation error with mfc-iteratior-support: ambiguous symbol
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-08-25 08:19:11


#10397: compilation error with mfc-iteratior-support: ambiguous symbol
------------------------------+------------------------
 Reporter: tobias.loew | Owner: neilgroves
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: range
  Version: Boost 1.56.0 | Severity: Problem
 Keywords: |
------------------------------+------------------------
 Hi,

 moving parts of range_const_iterator to the namespace range_detail in file
 boost/range/const_iterator.hpp leads to ambiguity in /range/detail/mfc.hpp
 line 747:

 (MSVC 11 on Windows Server 2008 R2/x64)

 25>..\src\libs\boost\boost\boost/range/mfc.hpp(747): error C2872:
 'range_const_iterator' : ambiguous symbol
 25> could be
 '..\src\libs\boost\boost\boost/range/const_iterator.hpp(67) :
 boost::range_const_iterator'
 25> or
 '..\src\libs\boost\boost\boost/range/const_iterator.hpp(40) :
 boost::range_detail::range_const_iterator'
 25> ..\src\libs\boost\boost\boost/range/detail/microsoft.hpp(135)
 : see reference to class template instantiation
 'boost::range_detail_microsoft::customization<Tag>::meta<X>' being
 compiled
 25> with
 25> [
 25> Tag=CEbsValueArray::mfc_range_base_type,
 25> X=CTypedPtrArray<CObArray,EbsValue *>
 25> ]
 25> ..\src\libs\boost\boost\boost/range/begin.hpp(111) : see
 reference to class template instantiation
 'boost::range_detail_microsoft::const_iterator_of<T>' being compiled
 25> with
 25> [
 25> T=CTypedPtrArray<CObArray,EbsValue *>
 25> ]
 ...

 The problem can be resolved by changing the name of

 boost::range_detail::range_const_iterator

 to

 boost::range_detail::range_const_iterator_helper

 I expect other begin/end adapters to run into the same problem.

 Tobias

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10397>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:16 UTC