指向成员函数的指针问题

The*_* do 2 c++ member-function-pointers

在下面的代码中(请参阅评论):

#include "stdafx.h"

#include <iostream>
using std::cout;

struct Base
{
 void fnc()
 {
  cout << "Base::fnc()";
 }

};

struct Impl
{
 void* data_;
 Impl(void (Base::*fp)())
 {
  fp();//HERE I'M INVOKING IT - I'M DOING SOMETHING WRONG!
 }
};
int _tmain(int argc, _TCHAR* argv[])
{
 return 0;
}  
Run Code Online (Sandbox Code Playgroud)

错误
"错误1错误C2064:术语不评估为采用0参数的函数"为什么它不起作用以及如何解决它?

Let*_*_Be 5

它不起作用,因为fp它不是函数指针而是成员指针.

如何修复它很容易,使用它应该使用它: someinstance.*fp();