抽象类类型

Abstract class type

本文关键字:类型 抽象类      更新时间:2023-10-16

我正在尝试这样初始化一个类:

m_OSCListener = new OSC_Listener(*this, 12345);

但是编译器会抛出分配一个抽象类类型为'OSC_Listener'的对象&;在我吗?

类是这样的:

class MainComponent;
class OSC_Listener: public Thread, private MessageListener
{
public:
    OSC_Listener(MainComponent& owner_, int port);
    ~OSC_Listener();
    void handleMessage (const Meddelande& message);
    void run();
private:
    int m_Port;
    ScopedPointer <MemoryBlock>     messageData;
    ScopedPointer <DatagramSocket>  socket;
    MainComponent& owner;
    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (OSC_Listener);
};

为什么会这样?

Juce::MessageListener有一个抽象的虚拟函数,您需要重写:

http://www.juce.com/api/classMessageListener.html

添加到你的类:

virtual void handleMessage (const Message &message) {}