mbr: C++ : Pointerzuweisung klappt nicht

Beitrag lesen

Hallo *Jiriki*

typedef GLfloat CGColor3[3];

CGColor3 RED = { 0.5f, 0.0f, 0.0f };
CGColor3 GREEN = { 0.0f, 0.5f, 0.0f };
CGColor3 BLUE = { 0.0f, 0.0f, 0.5f };

CGColor3 *_currentColor;
_currentColor = &RED;

"error C2501: '_currentColor': Fehlende Speicherklasse oder Typspezifizierer
error C2040: '_currentColor': 'int' unterscheidet sich von 'CGColor3 (*)' in Bezug auf die Anzahl vorgenommener Dereferenzierungen
error C2440: 'Initialisierung': 'CGColor3 (*__w64 )' kann nicht in 'int' konvertiert werden"

Das sieht für mich stark danach aus, als ob du irgendwo eine #include Anweisung vergessen hast. Der Compiler weiß dann nicht, wie er mit dem Typ CGColor3 umgehen soll. Meist kommen dadurch dann noch etliche Folgefehler zustande (hab durchaus schon dreistellige Anzahl von Fehlermeldungen erlebt und nach includieren der einen nötigen Datei wars dann gut...)
Schau einfach mal, in welcher Datei CGColor3 deklariert wird.

Liebe Grüße

mbr

Nachtrag: Allerdings wundert mich schon, warum der Compiler anscheinend an dem typedef noch nichts auszusetzen hat. Allerdings kenne ich mich mit C++ nicht wirklich spitzenmäßig aus (sondern nur relativ gut ;-) ). Vielleicht kann dazu ja einer der Experten im Forum noch was sagen.