This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Re: c++/8821: gcc 3.2 problem with overloaded inherited operator
- From: andre at kiwisound dot de
- To: bangerth at dealii dot org,andre at kiwisound dot de,gcc-bugs at gcc dot gnu dot org,gcc-prs at gcc dot gnu dot org,nobody at gcc dot gnu dot org,gcc-gnats at gcc dot gnu dot org
- Date: Wed, 11 Dec 2002 08:09:02 +0100
- Subject: Re: Re: c++/8821: gcc 3.2 problem with overloaded inherited operator
bangerth@dealii.org schrieb am 10.12.2002, 23:28:06:
> Synopsis: gcc 3.2 problem with overloaded inherited operator
>
> State-Changed-From-To: open->analyzed
> State-Changed-By: bangerth
> State-Changed-When: Tue Dec 10 14:28:05 2002
> State-Changed-Why:
> I can confirm that this problem exists. However, I am
> not sure whether it is really a bug: the operator
> you want to call is simply hidden by the operator
> in the derived class. What I don't know is how lookup
> of member operators happen -- if the same rule applies
> as for virtual functions, then the operator in the base
> class is rightfully hidden; if not, then this is a bug.
>
> On the other hand, if virtual function semantics apply,
> then a function similar to -Woverloaded-virtual should
> exist.
>
In my opinion it IS a bug because the operator of the parent class has
another argument. So the name resolution should detect the matching
operator in the parent class as usual in C++. I think overloaded
operators should behave like overloaded functions (where the same thing
works!). If its not in the C++ standard I have to believe now in Java or
.net ;-)