Dudas con manual de Daniel Acuña...

Tratamos sobre el manejo de APIs frecuentemente utilizadas en el desarrollo de videojuegos, como SDL, pygame o SFML.

Dudas con manual de Daniel Acuña...

Notapor ByteFest » Lun Feb 26, 2007 6:13 pm

Hola!, este es mi primer post en el foro y dejenme decirles que el sitio es increíble, da gusto participar en esta comunidad, pero bueno voy directamente al grano, estoy tratando de seguir el manual de programación con allegro, me resultó todo perfecto, instalé el devpack para dev c++ y logré hacer que una figura se mueva por pantalla, el problema surge cuando después de crear los archivos actor.cpp y actor.h agrego actormanager.cpp y el .h respectivo, dev c++ me arroja errores al compilar, por ejemplo:

"In file included from actormanager.cpp:2:
C:/Dev-Cpp/include/actor.h:21:12: warning: extra tokens at end of #endif directive
In file included from actormanager.cpp:3:
C:/Dev-Cpp/include/actormanager.h:27: error: ISO C++ forbids declaration of `list' with no type

C:/Dev-Cpp/include/actormanager.h:27: error: expected `;' before '<' token
"

Me disculpo si la pregunta es muy de novatos (estoy estudiando hace un año y medio programación) pero siempre me interesó programar juegos, sin embargo, acá en Chile la información que hay al respecto es mínima, les agradecería si me pueden ayudar para poder seguir el manual que la verdad esta genial.

Un saludo y gracias de antemano.
visita mi web / www.estilografico.cl
Avatar de Usuario
ByteFest
 
Mensajes: 2
Registrado: Lun Feb 26, 2007 5:28 pm

Notapor rcaf » Lun Feb 26, 2007 8:36 pm

Hola! Bienvenido al foro!

Antes que todo, cualquier pregunta es bienvenida, esa es la idea acá, ayudar y ayudarnos entre todos.

Bueno sobre tu consulta, podrías haber puesto un extracto del código fuente, donde ocurren los errores.

Pero bueno, viendo el código y buscando esas líneas en el libro, me di cuenta de que primero en el archivo actor.h que se encuentra en la página 42, la última línea del archivo actor.h es incorrecta ya que dice:

Código: Seleccionar todo
#endif ACTOR_H


lo correcto es simplemente colocar:

Código: Seleccionar todo
#endif


ya que asi finalizamos el bloque.

Por eso el warning: extra tokens at end of #endif directive

En cuanto al error, en el archivo actormanager.h (página 43) vemos que no se declaró el namespace std, así que debemos escribir lo siguiente antes de la definición de la clase:

Código: Seleccionar todo
using namespace std;


La otra solución es definir las listas de esta forma:

Código: Seleccionar todo
std::list<Actor*> actors;
std::list<Actor*>::iterator actors_iter;


Por último una recomendación, veo que copiaste todo el código del libro en el directorio include del DevC++, lo ideal seria que estuviera en un directorio separado, pero mejor aun, que fuera parte del directorio de tu proyecto. Es solo un tema de orden.

Saludos!
Roberto Albornoz Figueroa
Mi Blog
Wiki
Avatar de Usuario
rcaf
 
Mensajes: 71
Registrado: Jue Ago 10, 2006 4:35 am
Ubicación: Concepción, Octava Región. Chile

Notapor ByteFest » Lun Feb 26, 2007 8:55 pm

Hola rcaf, gracias por responder, por lo que me dices del orden, cree un proyecto nuevo en dev c++ y lo guardé en una carpeta llamada proyectos: "C:\Dev-Cpp\proyectos\game...", no lo copie todo dentro la carpeta include, efectivamente faltaba colocar using namespace std en el archivo actormanager.h te estoy muy agradecido y si me permites te voy a estar molestando con el manual jaja, gracias.

Saludos!!
[/i]
visita mi web / www.estilografico.cl
Avatar de Usuario
ByteFest
 
Mensajes: 2
Registrado: Lun Feb 26, 2007 5:28 pm


Volver a Sobre las bibliotecas multimedia

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron