https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76995
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- I'm pretty sure G++ is right to reject it. Clang and EDG give exactly the same error. If you remove the parentheses around mytype() or use (mytype{}) then there's no problem.