#定义数组索引不工作

#define array index not working

本文关键字:工作 索引 数组 定义      更新时间:2023-10-16

我试图#定义一个常量在头文件的顶部,并使用该值作为我的数组的索引大小。我得到以下错误:

错误C2059:语法错误:']'

我很好奇为什么?

#define MAX_TEAMS = 20;
class Program
{
  public:
  int atk_val[MAX_TEAMS]; // Error!
  int atk_val[20]; // Works!
}

#define MAX_TEAMS = 20;替换为

#define MAX_TEAMS 20

在当前形式下,代码int atk_val[MAX_TEAMS];将扩展为

int atk_val[= 20;];
//          ^   ^

因此你看到的错误信息。

始终记住宏是而不是变量。

当你这样定义符号时:

#define MAX_TEAMS = 20;

您将MAX_TEAMS定义为= 20;

变化

 #define MAX_TEAMS = 20;

#define MAX_TEAMS  20

#define执行字符串替换。