[Bug c++/16068] New: Bad error message
igodard at pacbell dot net
gcc-bugzilla@gcc.gnu.org
Fri Jun 18 23:33:00 GMT 2004
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
More information about the Gcc-bugs
mailing list