You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity编写Inventory类时Start函数已加}仍提示缺失如何解决

报错原因及解决方案

根因说明

你遇到的大括号缺失报错是误导性提示,本质由代码语法错误触发,具体问题如下:

  • C#语法严格区分大小写,访问修饰符关键字为小写public,你代码中使用的大写Public属于非法标识符
  • 方法内部定义的变量为局部变量,局部变量不允许添加任何访问修饰符(public/protected/private等均不可用),你在Start方法内定义Slots变量时加了访问修饰符,违反了C#语法规则
  • C#编译器识别到非法关键字后,会中断当前代码块的结构解析,因此抛出了和实际问题不符的「缺少闭合大括号」报错,你的大括号本身没有书写错误。

修复方法

根据你的业务需求二选一即可:

方案1:将Slots作为Start方法局部变量

直接删除变量前的Public关键字,修改后代码如下:

public class Inventory : MonoBehaviour
{
  void Start()
  {
    InvSlot[] Slots = new InvSlot[23];
  }
}

方案2:将Slots作为Inventory类的公开成员变量

如果需要在其他方法或外部脚本访问Slots,将变量定义移到方法外部,同时把Public改为小写public,修改后代码如下:

public class Inventory : MonoBehaviour
{
  public InvSlot[] Slots = new InvSlot[23];
  void Start()
  {

  }
}

内容的提问来源于stack exchange,提问作者Mason Walker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:27:07