Imagine I have a template class, where I've defined typdedef of function pointer to BaseClass function, that returns T and has no arguments:
template <typename T, typename BaseClass> class TConnectionPoint
{
typedef T (BaseClass::* PConnectionFunction)();
private:
PConnectionFunction _func;
public:
T Call();
}
This template has method Call():
template <typename T, typename BaseClass> T TConnectionPoint<T,BaseClass>::Call()
{
return _func();
}
The problem appears when I try to execute Call() function - VS2013 send me this error, which is a little confusing me:
term does not evaluate to a function taking 0 arguments
What I'm doing wrong?