elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Mensajes
Páginas: 1 [2]
11  Programación / Programación C/C++ / Re: dependencias circulares en: 11 Mayo 2016, 16:38 pm
Porque no existe. Tú pusiste:
Código
  1. Mapa(Graphics);

Querrías decir:
Código
  1. Mapa(Graphics*);

tenes razon, que error pelotudo...

gracias amigo por tu ayuda jajaj
12  Programación / Programación C/C++ / Re: dependencias circulares en: 11 Mayo 2016, 16:02 pm
No has puesto la línea del error.
En cualquier caso, coloca antes de los #IFDEF de cada clase, "class NOMBRE;", donde NOMBRE es el nombre de la clase del archivo. Comprueba si así funciona.

Ej:
Código
  1. class Tile;
  2.  
  3. #ifndef TILE_H
  4. #define TILE_H
  5.  
  6. #include "mapa.h"
  7.  
  8. class Tile
  9. {

tenes razon, disculpa. la linea del error es la linea 12 del primer code.

si pongo el forward como dijiste vos me sale este error:

\mapa.cpp|5|error: prototype for 'Mapa::Mapa(Graphics*)' does not match any in class 'Mapa'
13  Programación / Programación C/C++ / Re: dependencias circulares en: 11 Mayo 2016, 15:53 pm
Has expuesto el tema, pero no el problema. ¿Qué ocurre con ello?

disculpa, tuve un error al puiblicar el tema, ahora lo publico bien
14  Programación / Programación C/C++ / dependencias circulares en: 11 Mayo 2016, 15:28 pm
que tal amigos, estoy programando un juego en c++ basado en tiles con vista isometrica. tengo un problema que me esta quemando la cabeza.
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
  1. //tile.h
  2.  
  3. #ifndef TILE_H
  4.  
  5.    #define TILE_H
  6.    #include "mapa.h"
  7.    class Tile
  8.    {
  9.  
  10.    public:
  11.  
  12.        Tile(Mapa*, int, int);
  13.        ~Tile();
  14.  
  15.        void Draw();
  16.  
  17.  
  18.    private:
  19.  
  20.        Mapa *parent;
  21.        int posX;
  22.        int posY;
  23.  
  24.    };
  25.  
  26.  
  27. #endif // TILE_H
  28.  
  29. [/code=cpp]
  30.  
  31. [code]//tile.cpp
  32.  
  33. #include "tile.h"
  34.  
  35. Tile::Tile(Mapa *_parent, int x, int y)
  36. {
  37.    parent = _parent;
  38.    posX = x;
  39.    posY = y;
  40. }
  41.  
  42. Tile::~Tile()
  43. {
  44.  
  45. }
  46.  
  47. void Tile::Draw()
  48. {
  49.    int px = (posX - posY) * (parent->parent->tile->w /2) + parent->scrollX;
  50.    int py = (posX + posY) * (parent->parent->tile->h /2) + parent->scrollY;
  51.  
  52.    draw_sprite(parent->parent->buffer, parent->parent->tile, px, py);
  53.  
  54.    delete px;
  55.    delete py;
  56. }
  57.  

Código
  1. //mapa.h
  2. #include "graphics.h"
  3.  
  4.  
  5. #ifndef MAPA_H
  6.  
  7.    #define MAPA_H
  8.    #include "tile.h"
  9.    class Mapa
  10.    {
  11.  
  12.    public:
  13.  
  14.        Mapa(Graphics);
  15.        ~Mapa();
  16.  
  17.        void Draw();
  18.  
  19.    private:
  20.  
  21.        Tile *matriz[64][64];
  22.        int scrollX;
  23.        int scrollY;
  24.        Graphics *parent;
  25.  
  26.    };
  27.  
  28.  
  29. #endif // MAPA_H
  30.  

Código
  1. #include "mapa.h"
  2.  
  3. Mapa::Mapa(Graphics *_parent)
  4. {
  5.    parent = _parent;
  6.  
  7.    for(int i=0; i<64; i++)
  8.    {
  9.        for(int j=0; j<64; j++)
  10.        {
  11.            matriz[j][i] = new Tile(this, j, i);
  12.        }
  13.    }
  14. }
  15.  
  16. Mapa::~Mapa()
  17. {
  18.  
  19. }
  20.  
  21. void Mapa::Draw()
  22. {
  23.    for(int i=0; i<64; i++)
  24.    {
  25.        for(int j=0; j<64; j++)
  26.        {
  27.            matriz[j][i]->Draw();
  28.        }
  29.    }
  30. }
  31.  
[/code]
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines