質問です。
CPPでテストクラスを作って実験しているのですが、うまくいきません。
内容は、クラスのメンバである関数ポインタに外部から関数を持ってくるというものです。
プログラム中で動的に処理内容を変更したかったのでやってみてるのですが、
どなたかご存知ないでしょうか?
ちなみに、初期化部分で関数ポインタにはダミーのメンバー関数を持たせてあります。
ダミーの呼び出しなどはうまくいっています。

//宣言----
void (Cfc::*vfanc)(void);
//問題の部分。-----
void Cfc::change(void (*fanc)(void) ){
(Cfc::vfanc)= (*fanc);//外部の関数に変更。
}
//エラー
error C2440: '=' : 'void (__cdecl *)(void)' から 'void (__thiscall Cfc::*)(void)' に変換することはできません。(新しい動作 ; ヘルプを参照)
この変換が可能なコンテキストはありません。

VCを使っていますが、なるべく環境に寄らない方法でお願いします。