struct myClass
{
void classUDF(double* a) { };
};
// External function (tipically from an external library)
void externalFunction(int n, void (myClass::*udf)(double*) )
{
myClass myClassObj;
double x;
(myClassObj.*udf)(&x);
}
int main()
{
externalFunction(1, &myClass::classUDF);
}
c3RydWN0IG15Q2xhc3MKewogICAgdm9pZCBjbGFzc1VERihkb3VibGUqIGEpIHsgfTsKfTsKCi8vIEV4dGVybmFsIGZ1bmN0aW9uICh0aXBpY2FsbHkgZnJvbSBhbiBleHRlcm5hbCBsaWJyYXJ5KQp2b2lkIGV4dGVybmFsRnVuY3Rpb24oaW50IG4sIHZvaWQgKG15Q2xhc3M6Oip1ZGYpKGRvdWJsZSopICkKewogICAgbXlDbGFzcyBteUNsYXNzT2JqOwoJZG91YmxlIHg7CgkobXlDbGFzc09iai4qdWRmKSgmeCk7IAp9CgppbnQgbWFpbigpCnsKICAgIGV4dGVybmFsRnVuY3Rpb24oMSwgJm15Q2xhc3M6OmNsYXNzVURGKTsKfQoK