Вот рабочий код.. (Компилируеться
)
Но синтаксис мне не очень подходит..
template<class F, F Fn>
void c_funct_t(F f)
{
}
void main()
{
typedef int * (A::*TFoo)(const std::string &a);
c_funct_t<TFoo,A::Foo>(A::Foo);
}
а вот хочеться что бы было вот так.. (Почему он сам не догадываеться
)
template<class F, F Fn>
void c_funct_t(F f)
{
}
void main()
{
c_funct_t(A::Foo);
}
Думал пойти через
c_funct_t<typename boost::function_type<A::Foo>::type, A::Foo>(A::Foo);
тогда бы красиво в define лягло б.. но и это не хочет..
кстати что эта функция делает тогда? (boost::function_type)