I have a caller function like this:
template
void CallMethod(T *object){
(object->*method)(args);
}
First, please create typedefs http://www.parashift.com/c++-faq-lite/pointers-to-members.html#faq-33.5
Second,
void (*function)(A *) = &CallMethod;
In this case, method is a variable and variables can not be template arguments. I haven't tested it but perhaps you could try...
void (*function)(A *) = &CallMethod;