|
Boost Users : |
From: David Abrahams (dave_at_[hidden])
Date: 2007-11-07 18:25:54
on Wed Nov 07 2007, "Benoit Hudson" <benoit.hudson-AT-gmail.com> wrote:
> "For example, when defining a constant lvalue iterator, the user can
> pass a const-qualified version of the iterator's value_type as
> iterator_facade's Value parameter and omit the Reference parameter
> which follows."
>
> This no longer works in current gcc 4.3 (previous issue I mentioned
> was a compiler bug, now fixed): it works out to generating a const
> lvalue in operator[], which makes gcc-4.3 give "error: type
> qualifiers ignored on function return type"
Surely that's a warning, not an error?
Do you mean a const rvalue? A const lvalue is what
vector<T>::operator[](size_type) const returns.
> This is either a bug in boost or a bug in gcc; not being clear on
> which it really is, I'll file it under boost.
It's certainly legal and meaningful to return a const rvalue, so I'm
very confused about your report. It sure sounds like a GCC bug,
though.
-- Dave Abrahams Boost Consulting http://www.boost-consulting.com
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net