回归散分 + 提问:Unity的语法错误

zgszft 2015-01-17 10:21:58
之前有2年去研究iOS了,大二了现在开始自学.Net,特地回来散散分,顺便问点问题,如果能解答,我可以另开多个贴赠送该人500分(这个版没待过,几千分只能散100分一次)

言归正传,我在Unity项目的开发过程中突然断电,回来后Monodevelop提示是否载入自动保存的代码,我点击了载入。这时Unity提示我有6个语法错误,基本上是说“{”符号不能在类或者结构体里出现。我仔细检查了代码,而且多个编译器(Monodevelop的和Visual Studio的)都能正常编译没有错误,但就是Unity仍然提示。我通过注释的方法,定位到了Unity大致指向的出现问题的方法。这时如果我简单的重新粘贴代码是无效的,但如果移动到了另两个方法之间的位置,错误就不再提示了。还有就是这时Unity又发现了一个语法错误,说我一个局部变量在上下文不存在。这个问题,我是通过先把这个局部变量改为类成员变量,保存,Unity检查无错误后,再改回局部变量,才解决的。

有没有人知道是怎么回事?
...全文
185 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-01-19
  • 打赏
  • 举报
回复
把出问题的文件移除,重新添加进去(可以不要删掉,先剪走) Unity一般会自动识别文件更改,但是有时候会识别不出,比如Unity线程死了
大乱人 2015-01-19
  • 打赏
  • 举报
回复
有没有可能注释是中文的,MONO编译后,中文注释运行会出错,用文本编辑器转码成UTF8一下。 如果不是的话,你脚本修改完后,在Unity中rest一下。
zgszft 2015-01-18
  • 打赏
  • 举报
回复
简化一下问题,大概就是这样: 局部变量1声明; 语句1; 局部变量1使用; 以上顺序Unity, mono, VS都没语法错误 语句1; 局部变量1声明; 局部变量1使用; Unity提示变量1不存在上下文
moonwrite 2015-01-18
  • 打赏
  • 举报
回复
我遇到一些类似的提示 都是格式化的 貌似问题是因为Unity 有Mac版本的 格式化需要统一 不过我的是新建脚步就有了
zgszft 2015-01-18
  • 打赏
  • 举报
回复
你们有没有谁认识Unity的人?他们Unity中国的官方群是潜水状态。 刚才又出现了一个问题,我定义了一个枚举,里面有 = 号。在这个枚举上方我做了注释。结果报错,说 = 号不能出现在结构体或者类中。我去掉注释发现不报错了。恢复注释又出错,去掉注释或者添加注释的一个字,就不报错了
zgszft 2015-01-17
  • 打赏
  • 举报
回复
引用 3 楼 FoxDave 的回复:
格式化 (Ctrl + E + D) 之后检查一下看看 你这个问题如果像你描述的那样,挺诡异的
我怀疑是不是Unity处理自带外部编辑器的BUG,这两天问一下Unity那边的。学习C#感觉边看书,边从项目入手比较好,哈哈。明天如果没啥结果,分都给版主了。谢谢了。虽然我知道版主肯定不缺这点分
Justin-Liu 2015-01-17
  • 打赏
  • 举报
回复
格式化 (Ctrl + E + D) 之后检查一下看看 你这个问题如果像你描述的那样,挺诡异的
zgszft 2015-01-17
  • 打赏
  • 举报
回复
引用 1 楼 FoxDave 的回复:
我觉得,你这个问题是大括号没匹配好吧。。。 ------------------------------------------------------------------------------------------- 请为参加博客之星的我投上一票感激之至
如果没匹配好,VS还有Monodevelop本身是没法编译的。而且我还仔细一个一个检查过
Justin-Liu 2015-01-17
  • 打赏
  • 举报
回复
我觉得,你这个问题是大括号没匹配好吧。。。 ------------------------------------------------------------------------------------------- 请为参加博客之星的我投上一票感激之至

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧