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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
MSVC rejects it at instantiation time:
<source>(14): error C2207: 'Template<T>::()': a member of a class template
cannot acquire a function type
<source>(19): note: see reference to class template instantiation
'Template<void (void)>' being compiled

Or it even has an internal compiler erorr in some cases:
template<typename T>
struct Template
{
    typedef T type;

    T operator();
};
Template<void(*)> t;
int main(void)
{
    t();
}


Anyways this is invalid as the type of T is dependent and such.

Reply via email to