Subject: [Boost-bugs] [Boost C++ Libraries] #2015: boost::format::operator% does not work with anonymous types inside a namespace
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-06-17 11:35:49
#2015: boost::format::operator% does not work with anonymous types inside a
namespace
---------------------------------------------------+------------------------
Reporter: Geoff Barrett <gbarrett_at_[hidden]> | Owner: samuel_krempp
Type: Bugs | Status: new
Milestone: To Be Determined | Component: format
Version: Boost 1.34.0 | Severity: Problem
Keywords: |
---------------------------------------------------+------------------------
Using g++ version 3.3.3. Actual sources are from 1.33.1 but these don't
seem to be different from what is currently in the repository. I get the
following error message. If I remove the template specification from the
calls in the body of several functions, the errors go away. In the
attached file, the function foo2 suffers the same problem as operator% but
foo1 does not.
With g++ 4.2.1, this change does not work either.
.../boost/format/format_class.hpp: In
member function `boost::basic_format<Ch, Tr, Alloc>&
boost::basic_format<Ch,
Tr, Alloc>::operator%(const T&) [with T = bcu::<anonymous enum>, Ch =
char,
Tr = std::char_traits<char>, Alloc = std::allocator<char>]':
format_bug.cc:52: instantiated from here
.../boost/format/format_class.hpp:64: error: template-argument
`const bcu::<anonymous enum>&' uses anonymous type
.../boost/format/format_class.hpp:64: error: no
matching function for call to `feed(boost::basic_format<char,
std::char_traits<char>, std::allocator<char> >&, const bcu::<anonymous
enum>&)'
--
Ticket URL: <http://svn.boost.org/trac/boost/ticket/2015>
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:49:58 UTC