我需要在 Visual Studio 项目中的多个 cpp 文件中编辑和访问一些变量。所以我创建了一个头文件,其名称空间包含我需要的所有变量,如下所示:
namespace windowdimension{
TCHAR openwindows[20][180];
int winnum = 0;
int windowleft = 0;
int windowright = 1360;
INT windowtop = 0;
INT windowbottom = 768;
LONG leftarray[20];
LONG rightarray[20];
LONG toparray[20];
LONG bottomarray[20];
}
但是,如果我#include
将这个头文件放在两个源文件中,我会得到这个链接器错误 2005,说参数已经在另一个 obj 中定义。
在提到相同错误的其他问题时,我在这里知道
一个函数定义只能出现一次。#includes .h 文件的每个 .cpp 文件都将生成该函数的另一个副本。
但这也适用于命名空间变量吗?如果是这样,我们如何确保跨多个源文件访问特定变量?