0

在我的代码中,我为一个 GObject 变量分配了一个从另一个方法获得的 GObject。

private void myMethod() {
    if (sharp < 0) {
        nextMethod();
    } else
    GObject elem = getElem();
}

private GObject getElem(){
    GObject elem;
    elem = getElementAt(xCoord, yCoord);
    return elem;
}

编译器告诉我这GObject elem = getElem();不是一个声明。这对我来说就像一个声明。我可能又犯了一个菜鸟错误。

有任何想法吗?

4

1 回答 1

0

如果您尝试使用带有单行且不带括号的 else,那么它必须类似于:

else
    GObject elem = getElem();

否则,只需使用括号

else
{
    GObject elem = getElem();
}

编辑: 当您执行以下操作时:

else
GObject elem = getElem();

下面的行else只是一个不在 else 中的新语句。所以编译器正在你的内部寻找一些东西else,但没有任何东西。您没有以将第二个语句放在 else 中的方式缩进您的代码。

于 2013-11-06T16:12:35.690 回答