Error C2274
-
Also langsam hab ichs satt ...

#ifndef C_SPRITE #define C_SPRITE #define VP_PARALLEL_UPRIGHT 0 #define FACING_UPRIGHT 1 #define VP_PARALLEL 2 #define ORIENTED 3 #define VP_PARALLEL_ORIENTED 4 #define NORMAL 0 #define ADDITIVE 1 #define INDEXALPHA 2 #define ALPHATEST 3 #define SINGLEFRAME 0 #define GROUPFRAME 1 #ifndef MAX_PATH #define MAX_PATH 4000 #endif class c_sprite { private: struct d_sprite { struct d_spriteHeader { unsigned char ident[4]; // Enthält die Zeichenfolge 'IDSP'. int version; // Enthält die Versionsnummer des Spriteformats. 1 = Quake, 2 = Half-Life. int type; // Enthält die Orientierung (Fixierungstyp) des Sprites. int texFormat; // Enthält das Renderformat des Sprites. float boundingRadius; // Enthält den Radius des Sprites. int width; // Enthält die Breite des Sprites in Pixel. int height; // Enthält die Höhe des Sprites in Pixel. int numFrames; // Enthält die Anzahl der Frames, die das Sprite gespeichert hat. float beamLength; // Enthält die Beamlänge des Sprites. Die Beamlänge definiert eine Verschiebung der Ursprungskoordinaten des Sprites. int syncType; // Enthält die Synchronisierung des Sprites. Die Synchronisierung legt fest, ob ein Sprite synchron oder zufällig durch seine Framesgruppen geht. 0 = Synchron, 1 = Zufällig. }; d_spriteHeader header; struct d_spritePalette { struct RGB_Item { unsigned char colR; // Enthält den Rotwert des Farbeintrags [x]. unsigned char colG; // Enthält den Grünwert des Farbeintrags [x]. unsigned char colB; // Enthält den Blauwert des Farbeintrags [x]. }; short colCounter; // Enthält die Farbanzahl des Sprites. Hat eigentlich immer den Wert 256. RGB_Item *p_colItem; // Enthält die Farbdaten im RGB Datenformat. }; d_spritePalette palette; struct d_frame { long frameType; // Enthält die Typsignatur des Frames. 0 = Singleframe, 1 = Groupframe. long numIntervall; // Enthält einen Integerwert mit der Anzahl der auszulesenden Groupframes. float *p_intervall; // Enthält einen Floatwert, welcher die Anzeigesequenz des Groupframes bestimmt. long originX; // Enthält einen Integerwert mit der Koordinate des Ursprungs auf der X-Achse. long originY; // Enthält einen Integerwert mit der Koordinate des Ursprungs auf der Y-Achse. long width; // Enthält die Breite des Frames in Pixel ausgelesen. Kann von der Breitenangabe des Headers abweichen. long height; // Enthält die Höhe des Frames in Pixel ausgelesen. Kann von der Höhenangabe des Headers abweichen. unsigned char *p_frameData; // Enthält die Bytedaten des Frames. Ein Eintrag entspricht einem Pixel. Der Wert ist der Index einer Farbe in der Farbpalette( spritePalette ). }; d_frame *frame; }; public: d_sprite spriteData; // Hier werden die Spritedaten reingeladen. int loadSprite ( char filePath[MAX_PATH] ); int saveSprite ( char filePath[MAX_PATH] ); }; #endifWie kann man denn
fread ( &spriteData.header , sizeof ( spriteData.d_spriteHeader ), 1, p_spriteFile );sowas einlesen ohne
Kompiler schrieb:
error C2274: 'function-style cast' : Unzulaessig auf der rechten Seite des Operators '.'
zu bekommen ?
-
Was soll das denn sein?
spriteData.d_spriteHeaderSoll das nicht eher
spriteData.headerheissen?
-
Ähmm kann sein.

Habs inzwischen selbst rausgefundenfread ( &spriteData.header, sizeof ( c_sprite::d_sprite::d_spriteHeader ), 1, p_spriteFile );