# Problem about use an array of pointer-to-member-function?

• 11-18-2011
PuKa
Problem about use an array of pointer-to-member-function?
i writes a test and get trouble, sure. but i don't understand to fix it. please show me why? thank you.
Code:

```#include <iostream> #define CALL_MEMBER_FN(object, ptrToMember) ((object).*ptrToMember)) class one { public:         int min(int a, int  b) { return (a<b)?a:b; }         int max(int a, int b) { return (a>b)?a:b; } }; typedef int (one::*fp)(int, int); int main() {         fp farr[] = { &one::min, &one::max };         one oo;         int ans1 = CALL_MEMBER_FN(oo,farr[0])(2,5);         int ans2 = CALL_MEMBER_FN(oo,farr[1])(2,5); //        std::cout << "min(2,5) = " << CALL_MEMBER_FN(oo,farr[0])(2,5) << std::endl; //        std::cout << "max(2,5) = " << CALL_MEMBER_FN(oo,farr[1])(2,5) << std::endl;         return 0; } /* output: arr_fp_c++_0.cc: In function ‘int main()’: arr_fp_c++_0.cc:12: error: invalid use of non-static member function arr_fp_c++_0.cc:12: error: expected ‘,’ or ‘;’ before ‘)’ token arr_fp_c++_0.cc:13: error: invalid use of non-static member function arr_fp_c++_0.cc:13: error: expected ‘,’ or ‘;’ before ‘)’ token */```
• 11-18-2011
grumpy
Brackets in the macro definition are unbalanced.
• 11-19-2011
PuKa
I got it. thanks very much grumpy.