From: dmt AT bigfoot DOT com (Jeff W./DMT) Newsgroups: comp.os.msdos.djgpp Subject: "Non-Aggregate type"????? Date: Thu, 30 Apr 1998 23:26:33 GMT Organization: ZipLink -- America's Hottest ISP Lines: 99 Message-ID: <354907d7.591790@news.ziplink.net> NNTP-Posting-Host: chi-ip-1-215.ziplink.net To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk I have the following 2 classes declared: class TiledMap { public: TiledMap (void) { width = 20; //arbitrary starting map size of 20x15 height = 15; size = width * height; data = new MapStruct[size]; } ~TiledMap (void) { delete[] data; } int resize (const int _width, const int _height) { if ((_width <= 0) || (_height <= 0)) return -1; width = _width; height = _height; if ((width * height) > size) { delete[] data; size = width * height; data = new MapStruct[size]; } return 0; } MapStruct& tile (const int _x, const int _y) { /* FIXME: test for input out of range. */ return data[_y * width + _x]; } /* operator[] exhibits implementation details * (that tiles on each line are in one array). * But it can be faster to access than `tile' above, * if indexes values are known at compile time. */ MapStruct* operator[] (const int _y) { /* FIXME: test for input out of range. */ return &data[_y * width]; } int GetWidth(void) {return width;} int GetHeight(void) {return height;} int GetSize(void) {return size;} void SetWidth(int a) {width = a;} void SetHeight(int a) {height = a;} private: int width; int height; int size; MapStruct* data; }; class MapClass { public: TiledMap Tiles; //dynamic map 2D array int xstart, ystart; //top left corner at which to begin drawing tiles int TileX, TileY; //dimensions of largest tile bitmap int SX_Tiles, SY_Tiles; //# of tiles that can be displayed in x/y dir on screen //S stands for Screen =) void LoadMap(char filename[80]); //reads in map data void SaveMap(int x, int y); //saves a map of size X x Y void InitMap(void); //initializes a map, only if not LOADingMAP void BlitMap(BITMAP *buffer, DATAFILE *data); //blits the map to the buffer }; the problem is that within my MapClass functions, whenever I try to access any function of TiledMap (i.e. RESIZE or GETWIDTH), DJGPP gives me the error: ERROR resize IS OF NON-AGGREGATE TYPE. However, I can take that aove same TiledMap Class, insert it into a new C++ file, and run a test file accessing those functions withiout a problem. How do I fix this error??? --Jeff W. "The finding of DMT in normal human body fluids opens up interesting moral and legal questions. Since DMT is illegal, as is 'any substance, compound or mixture' containing DMT, it would seem that we are all guilty of possesion of a controlled substance" -Jonathon Ott My weird, trippy page: http://www.geocities.com/SunsetStrip/Alley/3450/index.html