This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/16068] New: Bad error message
- From: "igodard at pacbell dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Jun 2004 23:33:03 -0000
- Subject: [Bug c++/16068] New: Bad error message
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
In:
#include <iostream>
class A{};
template<typename T>
void operator<<(const A&, const T& t) {}
int main() {
A a;
a << std::endl;
}
You get the message:
~/ootbc/common/test/src$ g++ foo1.cc
foo1.cc: In function `int main()':
foo1.cc:9: error: no match for 'operator<<' in 'a << std::endl'
While there is an error here, it is that there are multiple matches (endl is an overloaded function, all of which match) and is ambiguous, rather than that there are no matches. The error should should the usual unresolvable ambiguity message listing the ambiguous identifications.
This bug is related to #16058, which was (incorrectly) reported as an indentification error as a result of a message like this.
Ivan
--
Summary: Bad error message
Product: gcc
Version: 3.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: igodard at pacbell dot net
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16068