我想实现的一个学校项目,在那里我有一个包含函数指针在错误:无效使用无效的表达,C++
map<string, YMenu>
形式当我尝试调用一个STL地图的菜单系统YMenu中的一个成员函数,通过地图添加一个新的函数指针到一个向量,我得到一个错误,说它是“void expression的无效使用”。我已附上下面的相关代码。
矢量保持阵列:
vector<void (*)() > nextAction;
功能添加函数指针:
void YMenu::addNextAction(int index, void (*Action)())
{
nextAction[index] = Action;
}
语法调用将产生的错误成员函数时使用:
Menus["0.0"].addNextAction(1, Menus["0.1"].show());
用于可能的任何想法解决方案?我试图找到谷歌和在这里搜索,但似乎无法找到答案。 :/
求助:谢谢你们,显然我在那里犯了一些愚蠢的错误。我终于设法实现了代码,并使用std :: function和std :: bind()来编译和运行代码。
该消息对应哪一行? –
'show'是什么? –
应该被称为“函数指针的无效使用” –