所以我有一个二维数组,称为char Screen [50] [5]; 当我这样声明时-> char Screen [50] [5];一切正常。 但是,当我将变量放在方括号而不是数字中时,出现错误消息:未声明Screen。
我已经尝试过这种声明char [] [] Screen = new char [ScreenWidth] [ScreenHeight]的方法;也是
int ScreenWidth = 50;
int ScreenHeight = 5;
char Screen[ScreenWidth][ScreenHeight];
[错误]未在此范围内声明“屏幕”
答案 0 :(得分:0)
该错误与您为数组大小使用变量无关,但是,这是不可能的,必须在编译时知道C-Style数组大小。
您的错误是您在其他地方使用了Screen,但是此行错误,因此Screen从未得到定义。
使用constexpr
关键字作为变量,这是有可能的
constexpr int ScreenWidth = 50;
constexpr int ScreenHeight = 5;
char Screen[ScreenWidth][ScreenHeight];
编辑:
您也许可以将其标记为const
而不是constexpr
,编译器很可能会对其进行优化,但是您不能依靠它。