我已经阅读了几篇关于此的帖子,但似乎无法通过示例代码找到我正在寻找的内容,如果有人能给我一些帮助,我将不胜感激。
在我的标题中,我有:
void addEvent(void (*func)(Pack *));
void triggerEvents(Pack * );
std::list<void(*)(Pack *)> eventList;
并在 cpp 文件中
void DNetwork::addEvent(void (*func)(Pack *)){
eventList.push_back(func);
}
void DNetwork::triggerEvents(Pack * pack){
for (std::list<void (*)( Pack *)>::iterator it = eventList.begin(); it != eventList.end() ;it++ ){
(*it)(pack);
}
}
这适用于免费函数,但是当我尝试将成员函数添加到此列表时出现错误。有谁知道如何在指针中存储成员函数(来自随机类对象)?