在Remix IDE中遭遇ParserError,Solidity代码编译失败求助
Solidity解析错误修复方案
错误根源
- 数组定义语法错误:
People[]public people{处需以分号结尾,你错误地将函数嵌套在了数组定义的大括号内。 - 大小写不匹配:结构体定义为小写
people,但声明数组时用了大写People,Solidity是大小写敏感语言,二者必须一致。 - 合约命名不规范(非语法错误,但建议修正):
simple storage包含空格,不符合Solidity命名规范。
修正后的完整代码
pragma solidity ^0.8.0; contract SimpleStorage { uint256 favoriteNumber; bool favoriteBool; struct People { uint256 favoriteNumber; string name; } People[] public people; function store(uint256 _favoriteNumber) public { favoriteNumber = _favoriteNumber; } }
核心修正点
- 数组声明必须以分号结尾,函数需独立定义,不能嵌套在数组声明块内。
- 严格保证结构体名称与引用时的大小写一致。
- 合约、结构体建议使用驼峰命名法,避免空格,提升代码规范性。
内容的提问来源于stack exchange,提问作者Moeed Khan
相关产品推荐
相关产品推荐

