我知道标题不是很清楚,但我不知道如何用一句话写下来。所以问题是我想要这样的东西:
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)'