小编Bra*_*ket的帖子

对'operator delete(void*)'的未定义引用

我是C++编程的新手,但长期以来一直在使用C和Java.我正在尝试在我正在处理的某些串行协议中执行类似接口的层次结构,并不断收到错误:

Undefined reference to 'operator delete(void*)'
Run Code Online (Sandbox Code Playgroud)

(简化)代码如下:

PacketWriter.h:

class PacketWriter {
public:
    virtual ~PacketWriter() {}
    virtual uint8_t nextByte() = 0;
}
Run Code Online (Sandbox Code Playgroud)

StringWriter.h:

class StringWriter : public PacketWriter {
public:
    StringWriter(const char* message);
    virtual uint8_t nextByte();
}
Run Code Online (Sandbox Code Playgroud)

构造函数和nextByte函数在StringWriter.cpp中实现,但没有别的.我需要能够从指向PacketWriter的指针中删除StringWriter,如果我为StringWriter定义了一个析构函数,我是否已经得到了各种其他类似的错误.我敢肯定这是一个简单的问题,我作为一个新手忽略了.

另外,我正在为AVR芯片编写这个,在Windows上使用avr-g ++.

谢谢

c++ embedded destructor avr avr-gcc

14
推荐指数
4
解决办法
4万
查看次数

标签 统计

avr ×1

avr-gcc ×1

c++ ×1

destructor ×1

embedded ×1