【发布时间】:2017-05-19 00:32:38
【问题描述】:
我正在尝试创建一个从一般成员调用一般函数的表。我正在尝试制作一个热键表,因此当它识别出某个键被按下时,它将调用特定对象上的特定函数。
我创建了一个对象 (hotKeyCommand),它存储了一个指向 void 函数的指针,以及一个指向要从中调用函数的对象指针的模板。然后我有一张看起来像这样的地图:
//hotKeyCommand.cpp
template<class callObjectPointer> class hotKeyCommand
{
...
typedef void(*hotKeyFunc)();
hotKeyFunc commandFunction;
callObjectPointer objectToCall;
//hotKeyConfig.cpp
std::map<unsigned int, hotKeyCommand> hotKeyList;
我想知道如何与 hotKeyList 变量交互来执行此操作。理想情况下,我可以只调用 hotKeyList[someID].execute() ,它会将函数执行到适当的对象,但是由于没有为 hotKeyList 提供要使用的对象的模板,我遇到了很多语法错误。
任何帮助将不胜感激! 谢谢!
【问题讨论】:
标签: c++ function pointers function-pointers stdmap