Here is a toy example using operator ! and a member pointer to it, looks like VC++ 10 was ok with it:
class Test
{
public:
bool operator !() {return true;};
};
typedef bool (Test::* memfunptr)();
int main(){
Test tt;
memfunptr mf = &Test::operator!;
bool res = (tt.*mf)();
return 0;
}
So, try something along the lines of:
tArray_t intArray;
(intArray.*insert)(&((intArray.*op)(1)));
(Not sure what your actual definitions of intArray and insert are, so I'm guessing here that intArray is an instance and insert is another member ptr)