foo();
(*foo)();
(&foo)();
В чем именно заключается разница между этими вызовами функций (если предположить, что foo() где-то определено)? и есть ли ситуации, когда можно было бы использовать другую?
Также, почему не работают &foo() и *foo()?