[Bug c++/59931] Wrong wording of diagnostic about imaginary "member function type"
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jan 24 01:35:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59931
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to frankhb1989 from comment #0)
> The member 'C::f' here should have type 'void ()'(if it makes
> sense),
I don't think so, that would produce an even worse diagnostic if you tried to
convert 't' to a void (*)():
a.cc:6:21: error: cannot convert 'C::f' from type 'void ()' to type 'void
(*()'
void (*pf)() = f;
^
That would be worse, because void() to void(*)() _is_ a valid conversion, so we
really don't want to imply 'f' has that type and then have to say an apparently
valid conversion wasn't possible.
More information about the Gcc-bugs
mailing list