类成员函数指针的问题
按照Lippman的《深入探索C++对象模型》,以下代码应该是合法的:
#include "stdafx.h"
class CFunctionPtr
{
public:
void InvokeMe(char *str)
{
char c = *str;
}
};
int main(int argc, char* argv[])
{
CFunctionPtr *p = new CFunctionPtr;
void(CFunctionPtr::*ptrInvoke)(char*) = &CFunctionPtr::InvokeMe;
p->*ptrInvoke("qwsxz");
return 0;
}
但是在VC6+SP5环境下编译,报:
error C2064: term does not evaluate to a function
为什么?