作为序言,我在Mint 12x64上使用eclipse 3.7.2
假设您有给定的字段:
tail = 10;
capacity = 10;
现在假设您要执行此语句:
tail++ %= capacity;
为什么声明是非法的?声明含糊不清吗?对我来说,它似乎会按照以下顺序进行评估:
答案 0 :(得分:6)
答案 1 :(得分:5)
您的示例无法编译的原因是tail++
是值,而不是变量。 ++
运算符接受一个变量(然后递增),然后返回值,然后尝试将其赋值给。您只能分配给变量,因此编译器错误。如果您想让您的样本有效,可以尝试:
tail %= capacity;
tail++;