我写了以下代码:
for(int layer = 0; layer <countLayers; layer++);
{
List<Sprite> spritesInLayer = sceneGraph.getLayer(layer);
}
当我编译这个片段时,我得到一个错误,在for-Loop中的行中,eclipse抱怨'layer'是一个未知符号[... = sceneGraph.getLayer(layer);]并且想要我引入字段/变量/ ...'layer'。
但是在使用此代码段时,它可以正常工作。
int layer = 0;
for(layer = 0; layer <countLayers; layer++);
{
List<Sprite> spritesInLayer = sceneGraph.getLayer(layer);
}
有人知道,我在第一段代码中缺少什么?或者这可能是某种eclipse / java编译器的错误?
我在Win 7 64位家庭高级版和Eclipse Helios 64位(版本20100617-1415)上使用Java 6 JDK Update 20 64位
答案 0 :(得分:4)
更改
for(int layer = 0; layer <countLayers; layer++);
到
for(int layer = 0; layer <countLayers; layer++)
虚假分号意味着for循环有一个空体。以下{....}
被解释为单独的语句。当然,layer
超出了该范围的范围。
答案 1 :(得分:2)
删除for
行后面的分号!
大括号的内容在您的示例中没有循环,因此layer
未定义...
这就是eclipse有用的原因!
答案 2 :(得分:1)
请删除分号“;”从以下一行开始。
for(int layer = 0; layer&lt; countLayers; layer ++);
for statement不需要;