views:

102

answers:

1

I have a file:

variableinclude.h

#ifndef _variableinclude_h_
#define _variableinclude_h_

AClass* variable1;
int* variable2;

#endif

But I include this file in another two different ones:

- atest1.h

- atest2.h

The problem is the following: variable redefinition.

How to avoid that???

+9  A: 

EDIT2:

Welcome to ODR

EDIT 1:

Make the variables extern in the header file.

extern AClass* variable1;   // assuming AClass is declared at this point.
extern int* variable2;

Define them once and only once in any cpp file e.g. in main.cpp at namespace scope.

AClass* variable1 = NULL;   // assuming AClass is declared at this point.
int* variable2 = NULL;
Chubsdad
+1 the solution
Mario The Spoon