C++变量重定义

oka*_*ami 1 c++ variables redefinition

我有一个文件:

variableinclude.h

#ifndef _variableinclude_h_
#define _variableinclude_h_

AClass* variable1;
int* variable2;

#endif
Run Code Online (Sandbox Code Playgroud)

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

- atest1.h

- atest2.h
Run Code Online (Sandbox Code Playgroud)

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

怎么避免???

Chu*_*dad 9

EDIT2:

欢迎来到ODR

编辑1:

在头文件中创建变量extern.

extern AClass* variable1;   // assuming AClass is declared at this point.
extern int* variable2;
Run Code Online (Sandbox Code Playgroud)

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

AClass* variable1 = NULL;   // assuming AClass is declared at this point.
int* variable2 = NULL;
Run Code Online (Sandbox Code Playgroud)