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 2d2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6W2L8W2)9J5k6h3y4H3M7s2u0W2k6X3g2J5k6h3&6U0k6g2)9J5k6h3y4G2L8g2)9J5c8Y4N6Q4x3V1k6U0M7s2m8Q4x3V1k6#2N6r3W2D9K9i4c8&6i4K6u0r3k6Y4g2F1j5%4c8A6L8$3&6S2L8q4)9J5c8X3#2W2L8g2)9#2k6X3k6F1
无心红叶 std::mem_fn 2c2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6W2L8W2)9J5k6h3y4H3M7s2u0W2k6X3g2J5k6h3&6U0k6g2)9J5k6h3y4G2L8g2)9J5c8Y4N6Q4x3V1k6U0M7s2m8Q4x3V1k6#2N6r3W2D9K9i4c8&6i4K6u0r3k6Y4g2F1j5%4c8A6L8$3&6S2L8q4)9J5c8X3#2W2L8g2)9#2k6X3k6F1