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

## Recommended Posts

Naigewron    142
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 on other sites
Endar    668
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 on other sites
you should use somethine like this, an include guard...

#ifndef HWHATEVER
#define HWHATEVER

#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 on other sites
Naigewron    142
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 on other sites
Lenox    166
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 on other sites
Naigewron    142
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!

Zahlman    1682

## 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