cpp 在声明全局二维数组时遇到问题

cpp Having trouble declarning global 2d arrays

我正在尝试声明一个全局范围变量,我希望它可以在包含我的头文件的所有其他 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 中的工作原理,因为这个概念对我来说似乎很陌生。

将以下行移动到 .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];

Im new to cpp, having been programming with csharp as a hobby for quite a few years now im having a little trouble fully wrapping my head around how scope works in cpp, since the concept seems quite foreign to me.

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