cpp在声明全局2d数组时遇到问题

问题描述 投票:0回答:1

我试图声明一个全局范围变量,我想在我的所有其他cpp文件中访问,包括我的头文件,但我遇到了一些麻烦。

所以我有一个头文件“AnimationManger.h”:

extern const int NUM_ANIMS;
extern const int ANIM_FRAMES;

和我的“AnimationManager.cpp”文件包含:

#include "AnimationManager.h"
const int NUM_ANIMS = 8;
const int ANIM_FRAMES = 4;

int animArray[NUM_ANIMS][ANIM_FRAMES];

//other functions

我想在包含AnimationManager.h的其他cpp文件中引用我的animArray变量。

我是cpp的新手,已经用csharp编程作为业余爱好已经有好几年了,现在我有点麻烦地完全围绕cpp范围如何工作,因为这个概念对我来说似乎很陌生。

c++ arrays header extern
1个回答
0
投票

将以下行移动到.h文件。

const int NUM_ANIMS = 8;
const int ANIM_FRAMES = 4;

并在此之后将数组声明为extern变量。

extern int animArray[NUM_ANIMS][ANIM_FRAMES];

之后,.cpp文件中唯一要做的就是定义数组。

#include "AnimationManager.h"

int animArray[NUM_ANIMS][ANIM_FRAMES];

我是cpp的新手,已经用csharp编程作为业余爱好已经有好几年了,现在我有点麻烦地完全围绕cpp范围如何工作,因为这个概念对我来说似乎很陌生。

我希望你使用一本或多本好书来学习这门语言。如果您还没有这样做,请访问The Definitive C++ Book Guide and List并选择一本好书来学习。

© www.soinside.com 2019 - 2024. All rights reserved.