https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61726
Bug ID: 61726 Summary: Ambiguous overload resolution with inherited op()s Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: kaballo86 at hotmail dot com The following snippet results in an ambiguous overload error: struct foo1 { void operator()(int&) const {}; }; struct foo2 { void operator()(int const&) const {}; }; struct bar : foo1, foo2 {}; int main() { int i = 0; bar{}(i); // error int const ci = 0; bar{}(ci); // error }