यह मेरा शीर्षक है: क्यूटी लिंकर त्रुटि: "अपरिभाषित संदर्भ vtable करने के लिए"
#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
यह मेरी कक्षा है:
undefined reference to 'vtable for BarelySocket'
:
#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)
{
}
मैं एक लिंकर त्रुटि मिलती है
- इसका तात्पर्य है कि मेरे पास वर्चुअल विधि लागू नहीं है। लेकिन वहां मेरी कक्षा में कोई वर्चुअल विधियां नहीं हैं।
- मैंने वेक्टर को यह सोचकर टिप्पणी की कि यह कारण था, लेकिन त्रुटि दूर नहीं गई।
Message
एक जटिलstruct
है, लेकिनint
का उपयोग करने के बजाय चीजों को ठीक नहीं करता है।
क्या आपने 'qmake' चलाने से शुरू होने वाले क्लीन बिल्ड की कोशिश की है? ऐसा तब हो सकता है जब 'moc' किसी कारण से आपकी कक्षा के लिए शीर्षलेख को संसाधित नहीं करता है। –
मैं क्यूटी निर्माता के साथ काम कर रहा हूं। मैंने सभी सीपीपी फ़ाइलों को एक नए स्वच्छ प्रोजेक्ट में कॉपी किया। मैंने स्लॉट कार्यान्वयन को हटा दिया है जिसे मैंने कोडित किया है। जहां समस्याएं आई थीं। आपकी मदद के लिए धन्यवाद! – Thomas