I am trying to pass a Class member function pointer
template < typename CLASS, typename TYPE1, typename TYPE2 >
void WriteFunctionHelper(CLASS* pOwner, PropInfoType::iterator& it, WriterPtr pw, WriterPtr (Writer::*func)(TYPE1, TYPE2) ) {
MemberProperty<CLASS,TYPE2> *ptr = (MemberProperty<CLASS, TYPE2> *)it->second;
const char *propertName = ptr->m_propertyName.c_str();
if ( !ptr->m_getterFn ) {
throw;
}
pw->*func(propertName,(pOwner->*(ptr->m_getterFn))());
}
I am getting compiler error error C2064: term does not evaluate to a function taking 2 arguments what is wrong that I am doing
Add bracers around
pw->*func