#define 数组索引不起作用
#define array index not working
我正在尝试在头文件的顶部#define 一个常量并将该值用作我的数组的索引大小。我收到以下错误:
Error C2059: syntax error : ']'
我很好奇为什么?
#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
进行字符串替换。
我正在尝试在头文件的顶部#define 一个常量并将该值用作我的数组的索引大小。我收到以下错误:
Error C2059: syntax error : ']'
我很好奇为什么?
#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
进行字符串替换。