You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Remix编译BSC的BEP20合约出现expected primary expression错误求助

Solidity编译expected primary expression错误解释及解决方法

报错含义

这是Solidity编译器抛出的典型语法错误,指编译器在报错指向的代码行位置,预期读取到变量、常量、函数调用这类合法的基础可执行表达式,但实际读取到的内容不符合Solidity语法规则,无法完成解析。

常见原因及对应解决方法

结合你使用标准BEP20模板发行代币的场景,该报错基本都是修改模板参数时的语法疏漏导致,按以下优先级排查即可:

  • 检查报错行的参数格式是否正确
    你需要修改的代币名称、符号属于字符串类型,必须用英文半角双引号包裹,总发行量、小数精度属于数字类型不需要加引号,所有语句末尾必须加英文半角分号。比如正确的写法是:
    string public constant name = "Omega";
    string public constant symbol = "OHM";
    uint8 public constant decimals = 18;
    uint256 public constant totalSupply = 1000000 * 10 ** 18;
    
    如果漏了引号、用了中文全角标点、漏了末尾分号,都会触发该报错。
  • 检查语法符号是否完整
    看报错行前后3行的代码,是否有缺失{、}、(、)这类语法分隔符,有没有误删模板原有代码结构的情况,只需要替换模板中占位的参数内容,不要修改其他代码的结构和符号。
  • 检查是否残留模板占位符
    部分模板会用{{xxx}}这类标记标注需要替换的位置,如果你没有完全删除占位符的大括号,直接在中间填写内容,编译器无法识别这类自定义标记也会抛出该报错,把占位符完全删除后替换为实际参数即可。

内容的提问来源于stack exchange,提问作者Adam Wetzli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 08:24:04