我有一个main.h文件并包含static const unsigned int TIME = 13;
我有和main.cpp文件包括
int64_t Gettime(int nnow, int64_t never)
{
static const bool TIME = true;
if(nnow == 6)
{
TIME = 9;
}
else if(nnow == 8)
{
TIME = 3;
}
else if(nnow == 1)
{
TIME = 40;
}
else if(nnow > 190)
{
TIME = 4000000;
}
return TIME + never;
}
在编译时我得到main.cpp:56:24:错误:分配只读变量'TIME' TIME = 3; ^
我想使用main.cpp函数在main.h中更改TIME变量吗?
答案 0 :(得分:1)
TIME
变量声明为const
,因此您只能读取其值而不能修改它,这就是编译器在错误中通知您的内容。
如果您必须修改该变量,则必须删除const
限定符。
答案 1 :(得分:0)
@shafeen的回答是正确的,但是因为看起来你还没有完全理解它,一些代码怎么样?
改变这个:
static const bool TIME = true;
要:
static bool TIME = true;
我会把这个作为对@ shafeen的回答的评论,但我没有代表:(