C++20以下,如何
我想实现的是:将类成员函数指针存起来方便调用 , 比如有这么些函数
void menu1();
void menu2();
void menu3();
void menu4();
但是现在只能实现全局函数类型的
全局函数函数用 decltype 描述后,很容易实现
using TMessageBoxA
=
decltype(::MessageBoxA);
auto msgBox3
std::function<TMessageBoxA>(reinterpret_cast<TMessageBoxA
*
>(&::MessageBoxA));
msgBox3(
0
,
"可以调用全局函数"
"成功"
);
但是仿写,调用类成员函数却不行
实在不知如何实现
using TFunMenu
decltype(CDlgCallDeclDlg::menu1);
/
error C2269: 无法创建指向限定函数类型的指针或引用(需要指向成员的指针)
auto Fun_Menu1
std::function<TFunMenu>(reinterpret_cast<TFunMenu
>(&CDlgCallDeclDlg::menu1));
无法实现
Fun_Menu1();
不知道问题出在哪
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
无心红叶 std::mem_fn https://en.cppreference.com/w/cpp/utility/functional/mem_fn