Здесь поздно ночью, и я схожу с ума, пытаясь устранить ошибку компоновщика.
Если у меня есть следующий абстрактный интерфейс:
class IArpPacketBuilder
{
public:
IArpPacketBuilder(const DslPortId& aPortId);
virtual ~IArpPacketBuilder();
// Other abstract (pure virtual methods) here...
};
и я создаю его экземпляр так:
class DummyArpPacketBuilder
: public IArpPacketBuilder
{
public:
DummyArpPacketBuilder(const DslPortId& aPortId)
: IArpPacketBuilder(aPortId) {}
~DummyArpPacketBuilder() {}
};
почему я получаю следующую ошибку при связывании?
Unresolved symbol references:
IArpPacketBuilder::IArpPacketBuilder(DslPortId const&):
ppc603_vxworks/_arpPacketQueue.o
IArpPacketBuilder::~IArpPacketBuilder():
ppc603_vxworks/_arpPacketQueue.o
typeinfo for IArpPacketBuilder:
ppc603_vxworks/_arpPacketQueue.o
*** Error code 1
IArpPacketBuilder
- это абстрактный интерфейс, поэтому, пока я определяю конструкторы и деструкторы в конкретном (производном) интерфейсе, у меня все будет хорошо, нет? Ну, похоже, нет.