Seite 1 von 1

Compiler meckert beim anlegen einer Farbe? sehr seltsam

Verfasst: 5. Oktober 2010 09:43
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???

Verfasst: 5. Oktober 2010 10:12
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.