Compiler meckert beim anlegen einer Farbe? sehr seltsam

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
lx2
Beiträge: 75
Registriert: 5. Mai 2009 03:13

Compiler meckert beim anlegen einer Farbe? sehr seltsam

Beitrag von lx2 »

Hallo Forum,

mir ist es ein Rätsel warum bei

Code: Alles auswählen

QColor beige = new QColor(236, 182, 120);
ich folgendes Problem bekomme:

invalid conversion from 'QColor*' to 'QRgb'
initializing argument 1 of 'QColor::QColor(QRgb)'


lasse ich das Schlüsselwort "new" weg, geht es.
Aber ich will ja ein neues Farbobjekt anlegen durch genau diesen Konstruktor:
QColor::QColor(int r, int g, int b, int a = 255);

Anscheinend nimmt er den falschen Konstruktor her :shock: :?:

Hab übrigens die Codezeile aus nem Trolltech-Tutorial rauskopiert.
Was ist da faul???
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Das hier ist C++ und nicht Java! Du brauchst kein new.

Code: Alles auswählen

QColor beige(236, 182, 120);
oder im Freispeicher dann korrekt mit new:

Code: Alles auswählen

QColor *beige = new QColor(236, 182, 120);
Wobei letzteres unnötig ist. new braucht deutlich länger und du holst dir wenn du nicht genau aufpasst MemoryLeaks. Nimm die erste Variante.
Antworten