Hi,
How can I use token pasting preprocessor directive? I need to call the right function given the function names in the form of an array.

Code:
#define CallMyFun( p, n )  p->##n ();

string myFuncs[ 3 ] = { string( "Func1" ), string( "Func2" ), string( "Func3" ) };

class CMyClass
{
 public:
   bool Func1();
   bool Func2();
   bool Func3();
};
And then use it something like:

Code:
CMyClass theObject;
CallMyFun( &theObject, myFuncs[ 0 ].c_str() );
You can see the problem with the above code. How can I resolve the issue?
Thanks
SB
PS: Is there is another way of resolving the issue via function pointers. Note that the functions are not static members.