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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
clang rejects it with:
<source>:8:5: error: non-const lvalue reference to type 'void ()' cannot bind
to a temporary of type '<overloaded function type>'
    static_cast<void(&)()>(&a<void>);
    ^                      ~~~~~~~~

ICC rejects it with:
<source>(8): error: cannot determine which instance of function template "a" is
intended
      static_cast<void(&)()>(&a<void>);
                             ^

While MSVC accepts it and just produces a warning:
<source>(8): warning C4550: expression evaluates to a function which is missing
an argument list

Reply via email to