我试图在头文件的顶部#define一个常量,并使用该值作为我的数组的索引大小。我收到以下错误:
错误C2059:语法错误:']'
我好奇为什么?
#define MAX_TEAMS = 20;
class Program
{
public:
int atk_val[MAX_TEAMS]; // Error!
int atk_val[20]; // Works!
}
答案 0 :(得分:4)
将#define MAX_TEAMS = 20;
替换为
#define MAX_TEAMS 20
以当前形式,代码int atk_val[MAX_TEAMS];
将扩展为
int atk_val[= 20;];
// ^ ^
因此您看到错误消息。
永远记住,MACRO 不是变量。
答案 1 :(得分:1)
以这种方式定义符号时:
#define MAX_TEAMS = 20;
您将MAX_TEAMS
定义为替换为= 20;
答案 2 :(得分:1)
更改
#define MAX_TEAMS = 20;
到
#define MAX_TEAMS 20
#define
执行字符串替换。