【发布时间】:2010-11-30 04:14:44
【问题描述】:
我必须将成员函数的函数指针传递给另一个类。我无法编译它,并且出现“对 classB::classB(classA::*)(std::shared_ptr) 的未定义引用”错误。有人可以帮我解决这个问题吗?
谢谢。
classA{
string functionA(share_ptr<int>);
void functionB(){
classB* ptr = new classB(&classA::functionA);
}
}
//in other .h file
classA; //forward declaration
classB{
classB(string (classA::*funcPtr)(shared_ptr<int>); //constructor
}
【问题讨论】:
-
我明白了……原来是正确的语法……只是我在再次编译之前没有清理一些旧文件……浪费了我的时间……
-
一件事是您的构造函数缺少右括号。此外,如果您也发布您的 .cpp 文件会很有帮助,因为标头没有显示 classB 构造函数的实现。
-
-1 问题中的信息不正确且不完整。该代码不是您的实际代码。它甚至不应该编译。并且提供的代码还不够完整,无法说明您的链接错误源于什么。
标签: c++