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

Solidity代码编译报错:ParserError: Expected ';' but got '(' 求助

编译错误原因排查与修复

核心错误原因

  • 函数调用语法错误:Solidity中调用合约实例的方法必须使用点号(.),你代码里的simpleStorage store(_simpleStorageNumber);用空格分隔实例和方法名,编译器会把store识别为变量定义,因此触发"Expected ';' but got '('"的语法错误。
  • 额外拼写问题:函数参数_simpleStorrageIndex多写了一个'r',正确应为_simpleStorageIndex,虽不影响编译,但会造成命名混淆。

修复后的完整代码

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;
import "./SimpleStorage.sol";
contract StorageFactory{
    
    SimpleStorage[] public simpleStorageArray;
    function createSimpleStorageContract() public {
        SimpleStorage simpleStorage = new SimpleStorage();
        simpleStorageArray.push(simpleStorage);
    }
     function sfStore(uint256 _simpleStorageIndex, uint256 _simpleStorageNumber) public{
      SimpleStorage simpleStorage =  SimpleStorage(address(simpleStorageArray[_simpleStorageIndex])); 
       simpleStorage.store(_simpleStorageNumber);   
     }
}

关键修正点说明

  1. 把simpleStorage store(_simpleStorageNumber);改为simpleStorage.store(_simpleStorageNumber);,用点号连接实例与方法名,符合Solidity函数调用规范。
  2. 修正参数名_simpleStorrageIndex为_simpleStorageIndex,保持命名的一致性和可读性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:51:49