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

Solidity智能合约第44行报错:Expected identifier but got '(' 求助

问题解决:Solidity构造函数报错Error: Expected identifier but got '('

错误原因及修复步骤

1. 依赖导入拼写错误

你的代码中第一个OpenZeppelin的导入路径存在拼写错误:

import "@openzeppelin/conracts/utils/Counters.sol";

其中conracts应为contracts,修正后:

import "@openzeppelin/contracts/utils/Counters.sol";

该拼写错误会导致编译器无法找到Counters库,进而引发语法解析异常,错误提示被误定位到构造函数处。

2. 构造函数内赋值运算符错误

构造函数中对owner的赋值误用了比较运算符==,应改为赋值运算符=:

constructor() ERC721("NFT Metaverse Token", "MYNFT") {
    owner = payable(msg.sender); // 修正为单等号
}

额外优化提示

由于ERC721URIStorage已继承ERC721,可移除重复的import "@openzeppelin/contracts/token/ERC721/ERC721.sol";导入,减少冗余。

修复后的完整合约代码

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;

// INTERNAL IMPORT FOR NFT OPENZIPLINE
import "@openzeppelin/contracts/utils/Counters.sol"; // 修正拼写错误
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol"; // Using ERC721 standard

import "hardhat/console.sol";

contract NFTMarketplace is ERC721URIStorage {
    using Counters for Counters.Counter;

    Counters.Counter private _tokenIds;
    Counters.Counter private _itemsSold;

    uint256 listingPrice = 0.0025 ether;

    address payable owner;
    mapping(uint256 => MarketItem) private idMarketItem;

    struct MarketItem {
        uint256 tokenId;
        address payable seller;
        address payable owner;
        uint256 price;
        bool sold;
    }

    event idMarketItemCreated(
        uint256 indexed tokenId,
        address seller,
        address owner,
        uint256 price,
        bool sold
    );

    modifier onlyOwner() {
        require(
            msg.sender == owner,
            "only owner of the marketplace can change the listing price"
        );
        _;
    }

    constructor() ERC721("NFT Metaverse Token", "MYNFT") {
        owner = payable(msg.sender); // 修正赋值运算符
    }

    function updateListingPrice(uint256 _listingPrice)
        public
        payable
        onlyOwner
    {
        listingPrice = _listingPrice;
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:13:28