Here is the code I have…
struct Test {
string foo() { return "bar"; }
};
#define callFn(obj,method) obj->method();
int main() {
Test* t = new Test();
cout << callFn(t,foo); // bar
return 0;
}
…and here is the code I’d like to have
int main() {
Test* t = new Test();
string method = "foo";
cout << callFn(t,method); // bar
return 0;
}
Is it possible?
You probably want something like member function pointers:
You can create containers whose elements are of type
ptmfto manage different member function pointers at runtime: