Оператор < для указателя на функцию не работает

struct A {};
void f() {}

bool operator <(void (*)(), struct A);

int main() {
    f < A{};
}

Почему эта программа не компилируется?

error C2059: syntax error: ';'


Ответы (1 шт):

Автор решения: Vladimir Chizh

С 20 стандарта , если после имени функции стоит < то компилятор ожидает имя шаблона. Если взять функцию в скобки, то это укажет компилятору, что фукнция не ожидает шаблона.

→ Ссылка