Best way of incorporating a set of data structures in a project?

Recommended Posts

Hi! A simple question really, but I can't think of a simple solution: I have a number of data structures, defines and overloaded operators that I want to use for my entire project (all classes). Now, at the moment I've just chucked them all in a single file, which I include in all my headers (one header file per class). The problem is, when I then include these headers in another file (eg. main.cpp), that file sees multiple definitions and redefinitions of the same structures, which generates a compile error. So what is the usual way of doing this? It must be a fairly common thing to do, yes?

Share this post

Share on other sites
If they are in a header file, just do this:

// start of header file#ifndef _HEADERFILENAME_#define _HEADERFILENAME_// very end of header file#endif

This should prevent what you're talking about.

Share this post

Share on other sites
you should use somethine like this, an include guard...

#ifndef HWHATEVER
#define HWHATEVER

//header contents here...

#endif

HWHATEVER can be anything, I ussually prefix with H and the name of the header buts thats all up to you.

Edit: Endar beat me too it...

Share this post

Share on other sites
So in my Structs.h file, I just go:

#ifndef Structs#define Structs// Data, code and all that#endif

Does that sound about right?

Share this post

Share on other sites
Quote:
 Original post by NaigewronSo in my Structs.h file, I just go:*** Source Snippet Removed ***Does that sound about right?

I'd personally slap an _H or an _HPP on there (depending on the extension) just to make it unique.

Share this post

Share on other sites
Ahhh, of course. It can be anything, since the #define is right there. SOrry about that, my brain was offline for a second.

Thanks guys!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

• Forum Statistics

• Total Topics
628375
• Total Posts
2982318

• 10
• 9
• 14
• 24
• 11