https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97710

--- Comment #5 from Mick P. <mick.pearson at wildblue dot net> ---
EDITED: In my example/link I changed the type from "int" to "char" by mistake,
but actually it shouldn't matter and using "int" produces even stranger results
that maybe should be investigated (using char for both produces the desired
diagnostic.)

Below is the "int" diagnostic, that looks erroneous in its own right
(nonsensical!)

><source>:4:17: error: '(int A::*)((0 == -1) ? ((long int)0) : (((long int)0) + 
>0))' is not a valid template argument for type 'int A::*'
><source>:4:17: note: it must be a pointer-to-member of the form '&X::Y'

Reply via email to