使用Solidity编程时遭遇编译错误求助:ParserError: Expected ';' but got 'Number'
解决Solidity编译时的ParserError问题
这个错误其实是个很常见的大小写疏忽问题,我来帮你快速搞定!
错误原因分析
Solidity是严格区分大小写的编程语言,pragma是它的核心关键字之一,必须全部小写。你代码里写成了大写开头的Pragma,编译器根本识别不了这个关键字,自然就会把后面的版本号0.8.7当成错误的语法内容,所以抛出了Expected ';' but got 'Number'的报错。
解决方案
- 核心修复:把代码里的
Pragma改成全小写的pragma - 规范优化(推荐):在版本号前加上
^符号,这个符号表示允许编译器使用兼容0.8.7版本的最新补丁版本,能避免一些已知的小bug;如果坚持用固定版本,不加也能正常编译
修正后的代码示例:
pragma solidity ^0.8.7; // 这里写你的合约逻辑 contract ExampleContract { // 比如定义一个简单的状态变量 uint public myNumber; }
小提醒
Solidity里所有的关键字(比如contract、function、uint这些)都是小写的,写代码的时候多留意大小写规范,能避免很多类似的低级语法错误哦!
内容的提问来源于stack exchange,提问作者Abhimanyu Verma
相关产品推荐
相关产品推荐

