[SDL] Silly c++ question

Lilith Calbridge lilith at dcccd.edu
Wed Aug 16 09:19:13 PDT 2006


Or at least #include "GraphicsEngine.h" before you #include "Game.h". 
There's no harm in doing what I suggested below other than a few extra
CPU cycles during the compile.  That's what the #ifndef's are for.  

-- 
Lilith

>>> On 8/16/2006 at 11:13 AM, in message <44E2FDD6.C7C3.00AE.0>,
"Lilith Calbridge"
<lilith at dcccd.edu> wrote:
> Off the top of my head I'd say that your Game.h file needs to
#include
> "GraphicsEngine.h" .  Otherwise, how does your Collision_Object
struct
> know what an Animation_Object is? 
> 
> Lilith
> 
>>>> On 8/16/2006 at 10:50 AM, in message
> <5835104.post at talk.nabble.com>,
> darkplastic <darkeninghorizons at hotmail.com> wrote:
> 
>> I must be doing something really obvious wrong...and i appologise
in
> advance
>> if i am being stupid but basically i have a struct that is part of
> the gfx
>> engine header file which looks like this:
>> 
>> // watch for multiple inclusions
>> #ifndef __GFX_h__
>> #define __GFX_h__
>> 
>> #include <stdlib.h>
>> #include <string.h>
>> #include <math.h>
>> #include <vector>
>> #include "Main2.h"
>> 
>> struct Animation_Object
>> {
>> 	std::vector<SDL_Surface*> _animation;
>> 	std::vector<int> _delays;
>> 	int _currentAnim;				//What current
> animation are we playing?
>> 	long _timeStartedPlaying;		//When did animation
> start playing?
>> };
>> 
>> 
>> and i am trying to use it in my game header file which looks like
> this:
>> 
>> // watch for multiple inclusions
>> #ifndef __GAME_h__
>> #define __GAME_h__
>> 
>> #include <stdlib.h>
>> #include <string.h>
>> #include <math.h>
>> #include <vector>
>> #include "Main2.h"
>> 
>> #define NUMBEROFMONSTERS 10
>> 
>> struct Collison_Object
>> {
>> 	Animation_Object _animation_Object;
>> 	SDL_Rect _coords;
>> 	SDL_Rect _rotCoords;
>> 	SDL_Rect _collisionArea;
>> 	SDL_Surface *surface;
>> 	SDL_Surface *rotSurface;
>> 	double rotateValue;
>> 	int alphaValue;
>> 	int offsetx,offsety;			//Offset used to find
> centre of objects
>> };
>> 
>> (Note that main2.h is where everthing is being linke together):
>> 
>> // watch for multiple inclusions
>> #ifndef __Main2_h__
>> #define __Main2_h__
>> 
>> #include "SDL_mixer.h"			//Used to load in music
>> #include "SDL_image.h"			//Used to load in non
> bmp images
>> #include "SDL.h"
>> #include "Intro.h"
>> #include "Game.h"
>> #include "GraphicsEngine.h"
>> 
>> yet when i go to compile it says:
>> 
>> c:\documents and
settings\darkplastic\desktop\!!game\game\Game.h(31)
> : error
>> C2146: syntax error : missing ';' before identifier
> '_animation_Object'
>> c:\documents and
settings\darkplastic\desktop\!!game\game\Game.h(31)
> : error
>> C4430: missing type specifier - int assumed. Note: C++ does not
> support
>> default-int
>> c:\documents and
settings\darkplastic\desktop\!!game\game\Game.h(31)
> : error
>> C4430: missing type specifier - int assumed. Note: C++ does not
> support
>> default-int
>> 
>> as if it cant see the Animation_object in the graphics engine
header
>> file....i am very confused by this :/ any suggestions? Cheers.
>> 
>> -James
>> 
> 
> _______________________________________________
> SDL mailing list
> SDL at libsdl.org 
> http://www.libsdl.org/mailman/listinfo/sdl




More information about the SDL mailing list