Объясните как работает определение псевдонима функции через ссылку?
То есть
int (&xfunc)() = funcx; int funcx() {return 42};
Какую роль здесь играют скобки? Понятно, если убрать скобки, то будет попытка иницилизировать функцию, но а скобки чем спасают от этого, тем более таким страным способом, что имя функции обвернуто скобками, а её сигнатура нет? Если можно, то так же опишите что могут делать круглые скобки в разных случаях.
С++