4

タイトルがはっきりしないのはわかっていますが、一文でどうやって書き留めればいいのかわかりませんでした。だから問題は、私はこのようなものが欲しいということです:

void(typeof(this)::*function)(int,int);

私はそれがうまくいかないことを知っていますが、C ++でこの問題の解決策が存在するかどうかをさまよっていましたか?

アップデート:

class MainPage
{
    public:
    MainPage()
    {
        void (std::remove_reference<decltype(*this)>::*callback)(int, int) = &MainPage::myFunction;
        ((*this).*callback)(nullptr,nullptr);
    }
    ~MainPage()
    {

    }

    void myFunction(int a, int b)
    {
    }
}

エラー:

エラー C2440: '改行': 'MainPage *' から 'std::remove_reference<_Ty> *' に変換できません

エラー C2647: '.*': 'MainPage' の 'void (__thiscall std::remove_reference<_Ty>::* )(int,int)' を逆参照できません

4

1 に答える 1