qobject_cast mit von QTcpSocket abgeleiteter Klasse

Alles rund um die Programmierung mit Qt
Antworten
User
Beiträge: 16
Registriert: 17. Mai 2007 00:42

qobject_cast mit von QTcpSocket abgeleiteter Klasse

Beitrag von User »

Hi,

ich habe eine Klasse von QTcpSocket abgeleitet:

Code: Alles auswählen

#include <Qtnetwork>

class PlaySocket : public QTcpSocket
{
	Q_OBJECT
public:
	PlaySocket(QObject* parent = 0);
};
Mein Problem ist nun, dass jeder Cast der Form

Code: Alles auswählen

PlaySocket* clientConnection = qobject_cast<PlaySocket*>(playServer->nextPendingConnection());
einen Nullpointer liefert. was mache ich beim casten falsch?
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Ein qobject_cast ist eigentlich ein dynamic_cast. Und ein QTcpSocket kann man so nicht eine Klasse casten die davon abgeleitet ist.
User
Beiträge: 16
Registriert: 17. Mai 2007 00:42

Beitrag von User »

Stimmt, das habe ich eben auch in der QT Referenz und einem C++ - Tutorial gelesen. Ich hatte vorher gedacht, qobject_cast bzw. dynamic_cast seien eben dazu da, um Downcasts zu ermöglichen. Offenbar sind genau diese damit nicht möglich. Gibt es überhaupt einen Weg, diesen Cast vorzunehmen?
Antworten