我已經閱讀了幾篇關於此的文章,但似乎無法找到我正在尋找的示例代碼,如果任何人都可以給我一些幫助,我會高度讚賞它。C++函數成員指針
在我的頭我有:
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);
}
}
這正常工作與自由的功能,但是當我試圖將一個成員函數添加到這個列表中我得到一個錯誤。有誰知道如何在指針內存儲一個成員函數(來自隨機類對象)?
雅普:'返回類型(theClass描述:: * memberPointer)(參數,...)= theClass描述:: aMemberFunction; ' – 2013-06-25 18:19:34
請參閱C++ FAQ第33節:http://www.parashift.com/c++-faq/pointers-to-members.html – aschepler
是的,但我希望能夠存儲來自不同類的函數指針。是否有可能爲我想要使用的類的父類,它可以採取的功能,以便列表將是這樣的:像這樣std :: list eventList; –