ParserError:Expected function or event错误解决办法
Solidity 合约里的ParserError: Expected function or event
,说白了就是编译器没找到你应该写的函数或事件,常见于写了一半的代码、拼错了关键字、括号没配好这些场景。你写个event
,结果参数忘了,加个function
,声明没写全,也都会报这个错。
合约里的function和event是基本操作,别说忘了,写错一个字母都不行。比如:
event MyEvent(uint value);
function doSomething() public {
// do stuff
}
注意括号要成对出现,pragma
版本声明也别漏。像pragma solidity ^0.8.0;
这种写法,基本上是开头必备。没写清楚编译器直接懵了,后面全错。
另外,有时候你以为写对了,其实顺序不对、位置不对也会触发这个错。所以出错别急,先检查关键字是不是拼对了,函数是不是写全了,括号是不是闭合了。
嗯,还有一个建议——多看官方文档,或者看看这几个资源,也挺实用的:
如果你刚开始写合约,建议多写点小例子,多跑几次编译器,看错哪儿就改哪儿,熟练了自然就知道哪里容易出锅。
下载地址
用户评论