当前位置: 代码迷 >> 交互式开发 >> Flash AS3.0 2个语句编译异常
  详细解决方案

Flash AS3.0 2个语句编译异常

热度:7739   发布时间:2013-02-26 00:00:00.0
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++;就可以了,不用重复赋值.
  相关解决方案