我不知道如何解决错误代码CS0127

问题描述 投票:-1回答:2
private bool CanUpgradeInfantry()
    {
        if (infantry != null)
        {
            InfantryData infantryData = infantry.GetComponent<InfantryData>();
            InfantryLevel nextLevel = infantryData.GetNextLevel();
            if (nextLevel != null)
            {
                return gameManager.Gold >= nextLevel.cost;
            }
        }
        return false;
    }

当我运行我的代码时,出现错误CS0127:由于'PlaceInfantry.OnMouseUp()'返回void,因此return关键字后面不能紧跟对象表达式。我不知道该怎么办。不知道出了什么问题。

c# unity3d
2个回答
1
投票

您正在尝试从PlaceInfantry.OnMouseUp()方法返回某些内容(您的问题中未显示)。 void方法无法返回任何内容,但不能返回任何内容。

返回void的方法可以包括:

return;

但是不能包括:

return someObjectOrValue;

0
投票

您发布了错误的代码。错误的根源是PlaceInfantry.OnMouseUp()被声明为void函数,但它返回的内容如下:

void OnMouseUp()
{
    // ... code here
    return (something);
}

删除return语句或更改void声明。

© www.soinside.com 2019 - 2024. All rights reserved.