我有以下问题。 我有一个带有纯虚方法的基本抽象类,我想将它作为参数传递给另一个成员函数(所以不是普通的函数)。但是在尝试使用指定函数调用方法时出错。代码说得比单词好,所以我发布了生成问题的代码
ElapsedTime
感谢您的时间!
答案 0 :(得分:2)
void ClasaDerviata::testNumere(int a, int b);
不是void (*)(int, int)
类型,而是void (ClasaDerviata::*)(int, int)
您可以将static
添加到testNumere
和add
以修复问题或更改功能的签名(并更改内部代码)。
答案 1 :(得分:1)
请记住,当您调用成员函数时,会传递一个隐藏参数'this'。所以你的ClasaDerviata :: testNumere(int a,int b);函数实际上需要三个参数。 我建议阅读Joseph Garvin的评论 How can I pass a class member function as a callback?
他已经很好地解释了这一点。