[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