我有一个文件:
变量include.h
#ifndef _variableinclude_h_
#define _variableinclude_h_
AClass* variable1;
int* variable2;
#endif
但我将此文件包含在另外两个不同的文件中:
- atest1.h
- atest2.h
问题如下:变量重新定义。
怎么避免???
我有一个文件:
变量include.h
#ifndef _variableinclude_h_
#define _variableinclude_h_
AClass* variable1;
int* variable2;
#endif
但我将此文件包含在另外两个不同的文件中:
- atest1.h
- atest2.h
问题如下:变量重新定义。
怎么避免???
编辑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;