Seite 1 von 1
quint16 is not a type name
Verfasst: 23. September 2010 14:08
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?
Verfasst: 23. September 2010 14:50
von kater
Ich rate mal:
#include <QtGlobal>
einfügen.
Verfasst: 23. September 2010 14:53
von rubikon
Das scheint es gewesen zu sein.
Danke!
Verfasst: 23. September 2010 16:17
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?
Verfasst: 23. September 2010 16:25
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.....
Verfasst: 23. September 2010 16:32
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 ...