quint16 is not a type name

Alles rund um die Programmierung mit Qt
Antworten
rubikon
Beiträge: 89
Registriert: 27. Mai 2010 13:23

quint16 is not a type name

Beitrag von rubikon »

Hallo.

Ich habe gelesen, dass man besser die Qt eigenen Datentypen wie zb quint16 nutzen soll, für den Fall dass man seine Anwendung auf eine andere Plattform portieren möchte.

Soweit, so gut. Das funktioniert auch. Ich kann meine Anwendung kompilieren.

Allerdings unterkringelt Qt Creator die Zeilen in dem Variablen von einem dieser Typen deklariert werden in grün. Der Tooltip sagt mir: 'quint16 is not a type name'

Wieso ist das so und wie bekomme ich das weg?
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Ich rate mal:
#include <QtGlobal>
einfügen.
rubikon
Beiträge: 89
Registriert: 27. Mai 2010 13:23

Beitrag von rubikon »

Das scheint es gewesen zu sein.

Danke!
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Mir fällt noch was auf
The <QtGlobal> header provides basic declarations and is included by all other Qt headers
Das muss bedeuten, dass du vorher nicht eine einzige Qt Header Datei eingebunden hattest?
rubikon
Beiträge: 89
Registriert: 27. Mai 2010 13:23

Beitrag von rubikon »

Das ist in der Tat richtig.

Es handelt sich dabei um eine Header Datei, welche globale Typdefinitionen, Markos usw. enthält.

Habe es mal getestet: Wenn ich einen anderen Qt Header einbinde ist das Gekringel auch wech.....
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

fuer den COmpiler iss es auch kein Fehler
weil eben typdef und consorten keine Typprüfung machen !

Code: Alles auswählen

typdef QList<QString> QMyStringlist; /// Bloedsinn wei QStringList es eh scho gibt 
das Ding wird dir nie nen Fehler werfen !

erst wenn du den getypdeften Typ verwendest, wird es den Ärger geben oder nicht.

Das SyntaxHighlighting oder was auch immer, kann den Typ dann natuerlich auch ned kennen :-)

Also das qGlobal musst du da nich einfuegen ... das ding ist ohne schon "richtig" und wird durch den Header nicht richtiger ! Nur deinem Editor tust nen gefallen scheinbar damit.
Bei generischer Programmierung und templates wird das ganze Thema dann noch mal etwas wichtiger ... (compiler und typaufloesung, was macht nen typename ... )

Ciao ...
Antworten