la cosa es asi:
tengo una clase mapa, que tiene un puntero bidimensional a clases tile, y la clase tile tiene un puntero a mapa. la clase tile tiene un metodo dibujar(), que dibuja sobre una estructura BITMAP que esta definida en una clase Graphics, accediendo a esta mediante un puntero en mapa.
aqui esta el codigo, el error que obtengo es "Expected ')' before '*'"
donde esta el error?
Código
//tile.h #ifndef TILE_H #define TILE_H #include "mapa.h" class Tile { public: Tile(Mapa*, int, int); ~Tile(); void Draw(); private: Mapa *parent; int posX; int posY; }; #endif // TILE_H [/code=cpp] [code]//tile.cpp #include "tile.h" Tile::Tile(Mapa *_parent, int x, int y) { parent = _parent; posX = x; posY = y; } Tile::~Tile() { } void Tile::Draw() { int px = (posX - posY) * (parent->parent->tile->w /2) + parent->scrollX; int py = (posX + posY) * (parent->parent->tile->h /2) + parent->scrollY; draw_sprite(parent->parent->buffer, parent->parent->tile, px, py); delete px; delete py; }
Código
//mapa.h #include "graphics.h" #ifndef MAPA_H #define MAPA_H #include "tile.h" class Mapa { public: Mapa(Graphics); ~Mapa(); void Draw(); private: Tile *matriz[64][64]; int scrollX; int scrollY; Graphics *parent; }; #endif // MAPA_H
Código
[/code]
#include "mapa.h" Mapa::Mapa(Graphics *_parent) { parent = _parent; for(int i=0; i<64; i++) { for(int j=0; j<64; j++) { matriz[j][i] = new Tile(this, j, i); } } } Mapa::~Mapa() { } void Mapa::Draw() { for(int i=0; i<64; i++) { for(int j=0; j<64; j++) { matriz[j][i]->Draw(); } } }