Код ниже отклоняется VС++ 2012 с "ошибкой C2207:" A:: bar ": член шаблона класса не может получить тип функции".
int Hello(int n)
{
return n;
}
template<class FunctionPtr>
struct A
{
A(FunctionPtr foo)
: bar(foo)
{}
FunctionPtr bar;
};
int main()
{
A<decltype(Hello)> a(Hello);
return 0;
}
Почему?