1

我有一个文件:

变量include.h

#ifndef _variableinclude_h_
#define _variableinclude_h_

AClass* variable1;
int* variable2;

#endif

但我将此文件包含在另外两个不同的文件中:

- atest1.h

- atest2.h

问题如下:变量重新定义。

怎么避免???

4

1 回答 1

9

编辑2:

欢迎来到ODR

编辑1:

在头文件中设置变量 extern。

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

在任何 cpp 文件中定义它们一次且仅一次,例如在命名空间范围内的 main.cpp 中。

AClass* variable1 = NULL;   // assuming AClass is declared at this point.
int* variable2 = NULL;
于 2010-10-01T05:02:11.183 回答