Qt Linker Error: “referência indefinida à vtable” [duplicado]
Esta pergunta já tem uma resposta aqui:
Referência indefinida para vtable. Tentando compilar um projeto Qt 16 respostasEste é o meu cabeçalho:
#ifndef BARELYSOCKET_H
#define BARELYSOCKET_H
#include <QObject>
//! The First Draw of the BarelySocket!
class BarelySocket: public QObject
{
Q_OBJECT
public:
BarelySocket();
public slots:
void sendMessage(Message aMessage);
signals:
void reciveMessage(Message aMessage);
private:
// QVector<Message> reciveMessages;
};
#endif // BARELYSOCKET_H
Esta é a minha turma:
#include <QTGui>
#include <QObject>
#include "type.h"
#include "client.h"
#include "server.h"
#include "barelysocket.h"
BarelySocket::BarelySocket()
{
//this->reciveMessages.clear();
qDebug("BarelySocket::BarelySocket()");
}
void BarelySocket::sendMessage(Message aMessage)
{
}
void BarelySocket::reciveMessage(Message aMessage)
{
}
Eu recebo um erro de vinculador:
undefined reference to 'vtable for BarelySocket'
Isto implica que eu tenho um método virtual não implementado. Mas não há métodos virtuais na minha classe.Comentei o vetor pensando que era a causa, mas o erro não desapareceOMessage
é um complexostruct
, mas mesmo usandoint
em vez disso, não consertava as coisa