Оператор < для указателя на функцию не работает
struct A {};
void f() {}
bool operator <(void (*)(), struct A);
int main() {
f < A{};
}
Почему эта программа не компилируется?
error C2059: syntax error: ';'
Ответы (1 шт):
Автор решения: Vladimir Chizh
→ Ссылка
С 20 стандарта , если после имени функции стоит < то компилятор ожидает имя шаблона. Если взять функцию в скобки, то это укажет компилятору, что фукнция не ожидает шаблона.