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

编译134_flatten.sol合约报expected identifier but got 'Number'错误如何解决?

Solidity编译报错排查结果

核心报错原因

你遇到的expected identifier but got 'Number'错误由两个语法问题共同导致,完全匹配你给出的报错位置特征:

  • 合约命名违反Solidity标识符规则
    Solidity要求所有标识符(合约名、变量名、函数名等)必须以字母或下划线_开头,禁止直接以数字作为开头。你当前代码中直接用134作为合约名,编译器在第1733行第10个字符的位置遇到数字1时,无法将其识别为合法的合约标识符,直接抛出对应错误。
  • 父类合约名称拼写错误且存在多余特殊字符
    你代码中父类写为ERC71PresetMinterPauserAutoId,存在两处问题:一是少写了数字2,正确的OpenZeppelin预设ERC721合约名称为ERC721PresetMinterPauserAutoId`;二是中间多了一个多余的反引号,属于输入失误,需要删除。

修复方案

修改合约定义行,调整合约名、修正父类名称即可,修复后的完整代码片段如下:

contract Contract134 is ERC721PresetMinterPauserAutoId  {
    constructor() public
    ERC721PresetMinterPauserAutoId("134", "134", "https://protomock.com:5000/item/view/134/")
    {}

}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:15:00