Почему я получаю указанную ниже ошибку? (Почему компилятор пытается вызвать конструктор по умолчанию?)
#include <cmath>
template<typename F> struct Foo { Foo(F) { } };
int main()
{
Foo<double(double)>(sin); // no appropriate default constructor available
}