[gelöst] base class `QSqlQuery' has incomplete type

Alles rund um die Programmierung mit Qt
Antworten
ElwoodJ
Beiträge: 50
Registriert: 5. August 2005 09:33
Wohnort: /home/elwood

[gelöst] base class `QSqlQuery' has incomplete type

Beitrag von ElwoodJ »

Hallo,
ich habe mal wieder ein kleines Qt Problem. Ich würde gerne die Klasse QSqlQuery ergänzen um einige Methoden. Also würde ich gerne eine Ableitung der Klasse schreiben. Generell sollte das doch möglich sein oder?

Ich bekomme beim Kompilieren folgende Fehlermeldung

Code: Alles auswählen

base class `QSqlQuery' has incomplete type
Was genau hat es damit auf sich? Hab schon gesucht und gesucht aber nichts brauchbares gefundenden.

Schon mal schönen Dank für alle Antworten.
Zuletzt geändert von ElwoodJ am 3. Oktober 2005 18:40, insgesamt 1-mal geändert.
Tarek
Beiträge: 46
Registriert: 3. Oktober 2005 14:29
Kontaktdaten:

Beitrag von Tarek »

Hast du vielleicht das Q_OBJECT Makro vergessen? Poste am besten mal die gesamte Klassendekleration.
ElwoodJ
Beiträge: 50
Registriert: 5. August 2005 09:33
Wohnort: /home/elwood

Beitrag von ElwoodJ »

hm, das Makro ist drin.

Aber hier mal der Code und die Fehler beim Kompilieren

Header-Datei:
#ifndef QMYQUERY_H
#define QMYQUERY_H
class QSqlQuery;
class QMyQuery : public QSqlQuery
{
Q_OBJECT
public:
QMyQuery();
~QMyQuery();
};
#endif
Implementierung:
#include "qmyquery.h"
#include <QSqlQuery>
QMyQuery::QMyQuery(): QSqlQuery()
{
}
QMyQuery::~QMyQuery()
{
}
Kompilermeldungen:
In file included from qmyquery.cpp:2:
qmyquery.h:8: error: base class `QSqlQuery' has incomplete type
qmyquery.h:12: error: Syntaxfehler before `public'
qmyquery.h:8: Warnung: `class QMyQuery' only defines a private destructor and
has no friends
qmyquery.cpp:5: error: definition of implicitly-declared `QMyQuery::QMyQuery()'
qmyquery.cpp:5: error: declaration of `QMyQuery::QMyQuery()' throws different
exceptions
qmyquery.h:8: error: than previous declaration `QMyQuery::QMyQuery() throw ()'
qmyquery.cpp: In constructor `QMyQuery::QMyQuery()':
qmyquery.cpp:5: error: type `class QSqlQuery' is not a direct base of `QMyQuery
'
make: *** [qmyquery.o] Fehler 1
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

lasse das
class QSqlQuery weg und nimm
#include <QtSql>
ElwoodJ
Beiträge: 50
Registriert: 5. August 2005 09:33
Wohnort: /home/elwood

Beitrag von ElwoodJ »

danke, das hat geholfen. Hab zwar noch nen Fehler aber immerhin konnte das Ganze nun weiter kompiliert werden.

Wenn ich nun #include <QtSql> im Sourcecode habe dann fügt er doch schon an der Stelle alles aus der Headerdatei ein oder? Ich dachte mit class wäre das sinnvoller, damit er einfach nur weiß dass es die andere Klasse gibt. Oder ist es doch anders?
BartSimpson
Beiträge: 1379
Registriert: 6. November 2004 12:03
Kontaktdaten:

Beitrag von BartSimpson »

Im Prinzip schon. Aber wenn du was ableiten willst, muss der Compiler schon etwas mehr wissen:)
ElwoodJ
Beiträge: 50
Registriert: 5. August 2005 09:33
Wohnort: /home/elwood

Beitrag von ElwoodJ »

ok :) leuchtet ein.


Danke für die schnelle Lösung.
Antworten