将成员函数作为参数传递给c ++中的另一个函数

时间:2015-07-07 11:51:25

标签: c++ oop visual-studio-2012

我有以下问题。 我有一个带有纯虚方法的基本抽象类,我想将它作为参数传递给另一个成员函数(所以不是普通的函数)。但是在尝试使用指定函数调用方法时出错。代码说得比单词好,所以我发布了生成问题的代码

ElapsedTime

感谢您的时间!

2 个答案:

答案 0 :(得分:2)

void ClasaDerviata::testNumere(int a, int b);不是void (*)(int, int)类型,而是void (ClasaDerviata::*)(int, int)

您可以将static添加到testNumereadd以修复问题或更改功能的签名(并更改内部代码)。

答案 1 :(得分:1)

请记住,当您调用成员函数时,会传递一个隐藏参数'this'。所以你的ClasaDerviata :: testNumere(int a,int b);函数实际上需要三个参数。 我建议阅读Joseph Garvin的评论 How can I pass a class member function as a callback?

他已经很好地解释了这一点。