【发布时间】:2011-10-17 14:45:26
【问题描述】:
我有一个 A 类,它是一个抽象基类。(C++)。现在,我有两个继承自 A 的类 B 和 C;
我在 A 中有一个虚拟析构函数; A 类中的构造函数是受保护的。 现在,在 B 和 C 的构造函数中,我已经包含了对 A 的构造函数的调用。
B::B():A()
{
//do something
}
对于 C 也是如此
C::C():A()
{
//do something
}
现在,在编译时出现链接错误。
B.obj : error LNK2019: unresolved external symbol "protected: __
thiscall A::A(void)" (??0A) referenced in function "protected: __thiscall B::B(void)" (??0B)
C.obj : error LNK2001: unresolved external symbol "protected:
__thiscall A::A(void)" (??0A@XZ)
Error.
请建议如何解决这个问题。
谢谢, 卡尔提克。
【问题讨论】:
-
发布完整代码。您没有向我们展示的代码中一定存在错误。
-
我不能:(。我不允许。
-
尝试构建一个最小的示例来重现您的问题。否则这里没有真正的问题。
标签: c++ dynamic-linking