I'm new to C++ programming, but have been working in C and Java for a long time. I'm trying to do an interface-like hierarchy in some serial protocol I'm working on, and keep getting the error:
Undefined reference to 'operator delete(void*)' The (simplified) code follows below:
PacketWriter.h:
class PacketWriter { public: virtual ~PacketWriter() {} virtual uint8_t nextByte() = 0; } StringWriter.h:
class StringWriter : public PacketWriter { public: StringWriter(const char* message); virtual uint8_t nextByte(); } The constructor and nextByte functions are implemented in StringWriter.cpp, but nothing else. I need to be able to delete a StringWriter from a pointer to a PacketWriter, and i've been getting various other similar errors if I define a destructor for StringWriter, virtual or not. I'm sure it's a simple issue that I'm overlooking as a newbie.
Also, I'm writing this for an AVR chip, using avr-g++ on Windows.
Thanks
avr-gccor something like that, then you should rather useavr-g++or equivalent.operator newandoperator deleteare provided, but if you do something bareback you may need to define those yourself.