Flash AS3.0 2个语句编译错误
i;
while (i < n)
{
mainGroup.setChildIndex(children[i], (n - i)--);
i = i++;
}
错误信息:1108: 减量操作数无效。
看上去 (n - i)--) 是语法错误,但原来的代码就是这样,为什么到我这里一发布就提示上面的错误?
[解决办法]
错误一: (n-i)--;
--运算是对变量而言的一种 运算符;
如: i++;
相当于: i = i + 1;
错误原因 (n - i) 是一个常量. 常量不能赋值.
比如说: n = 5, i = 2 的时候就是
(5 - 2)--;
就是 3--;
也就是 3 = 3 - 1;
当前是错误的.
错误二: i = i++;
这个相当于 i = (i = i + 1);
如果硬要说没错,也是没错,因为没有语法错误.
但在应用中很没有意义.
i++;就可以了,不用重复赋值.