Solidity
覆蓋 ERC20 的 _mint 函式
我正在嘗試根據需要覆蓋 ERC20.sol 的 _mint 函式。不幸的是,我收到一個錯誤,我將在下面附上。
有誰知道我該如何克服這個問題?
這是我的函式,旨在為 ERC20.sol 的原始 _mint 函式添加一些規則
function _mint(address _owner, uint _amount) override public pure{ if (_amount > 0 && isContained[_owner] == false) { tokenHolders.push(_owner); isContained[_owner] = true; } _mint(_owner, _amount); }
這是我得到的錯誤
該錯誤是不言自明的。
您要覆蓋以下功能:
function _mint(address account, uint256 amount) internal virtual {...}
但你的定義是:
function _mint(address _owner, uint256 _amount) override public pure {...}
您的函式也需要是內部的(匹配它覆蓋的函式的簽名和可見性)
試試這樣:
function _mint(address _owner, uint256 _amount) internal virtual override {...}