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关键字后面不能紧跟对象表达式。我不知道该怎么办。不知道出了什么问题。
您正在尝试从PlaceInfantry.OnMouseUp()方法返回某些内容(您的问题中未显示)。 void方法无法返回任何内容,但不能返回任何内容。
返回void的方法可以包括:
return;
但是不能包括:
return someObjectOrValue;
您发布了错误的代码。错误的根源是PlaceInfantry.OnMouseUp()
被声明为void函数,但它返回的内容如下:
void OnMouseUp()
{
// ... code here
return (something);
}
删除return语句或更改void声明。