Solidity Compiler报错【ParserError: Function, variable, struct or modifier declaration expected.】

目录

ParserError问题排查思路

检查合约代码是否语法有问题

检查合约代码中的空格字符

其他问题导致。。。。


ParserError问题排查思路

若你的合约是从别处粘贴过来,利用在线remix ide编译时却报错了【ParserError: Function, variable, struct or modifier declaration expected.】。此处提供解决思路。

检查合约代码是否语法有问题

先检查是否合约代码本身编写有误,比如多了空格,少了分号等。

检查完后,并没有合约代码本身问题。那可能是粘贴过来的合约代码存在空格字符问题了。

检查合约代码中的空格字符

1. 全选中合约代码,字符格式正常如图1,非正常如图2。

Solidity Compiler报错【ParserError: Function, variable, struct or modifier declaration expected.】_第1张图片 图1  正常空格字符 Solidity Compiler报错【ParserError: Function, variable, struct or modifier declaration expected.】_第2张图片 图2  不正常空格字符(明显间距过大)

2. 若是图2,则说明粘贴过来的空格字符不正确,remix ide中solidity编译器不会将该字符识别为空格字符,导致ParserError。因此,需要将这些错误的字符改为正确的空格字符。

3. 删除这些错误的字符,如图3。再利用remix ide提供的format code功能,右击调出,如图4。

Solidity Compiler报错【ParserError: Function, variable, struct or modifier declaration expected.】_第3张图片 图3  删除每行错误的空格字符 Solidity Compiler报错【ParserError: Function, variable, struct or modifier declaration expected.】_第4张图片 图4  remix-ide的format code

4. 再编译合约,编译成功,如图5。问题解决。

Solidity Compiler报错【ParserError: Function, variable, struct or modifier declaration expected.】_第5张图片 图5  合约成功编译

其他问题导致。。。。

其他问题排查,等待补充。

你可能感兴趣的:(Solidity,区块链)