无法正确继承其他人的合同
Can't inherit contract from other one correctly
我有一个这样定义的 ERC-721 智能合约
contract MintNFT is ERC721Enumerable, Ownable {
constructor(string _name, string _symbol) ERC721(_name, _symbol){}
}
我在其中铸造了 NFT 和其他一些功能。然后我创建了一个新合同来购买 NFT 并管理一些东西,但无论我在合同中写什么,它都迫使我将其标记为抽象。我是这样定义的:
contract ManagerNFT is MintNFT, IERC721 {
constructor(string memory _name, string memory _symbol) MintNFT(_name, _symbol){}
}
它抛出一个错误说 linearization of inheritance graph impossible
当我将这个 ManagerNFT 合约标记为抽象时它就消失了。
我不知道为什么会这样,我认为我正在正确设置构造函数,关于如何做到这一点有什么想法吗?谢谢
顾名思义,IERC721
是一个接口。
所以ManagerNFT
需要实现接口的所有功能
我有一个这样定义的 ERC-721 智能合约
contract MintNFT is ERC721Enumerable, Ownable {
constructor(string _name, string _symbol) ERC721(_name, _symbol){}
}
我在其中铸造了 NFT 和其他一些功能。然后我创建了一个新合同来购买 NFT 并管理一些东西,但无论我在合同中写什么,它都迫使我将其标记为抽象。我是这样定义的:
contract ManagerNFT is MintNFT, IERC721 {
constructor(string memory _name, string memory _symbol) MintNFT(_name, _symbol){}
}
它抛出一个错误说 linearization of inheritance graph impossible
当我将这个 ManagerNFT 合约标记为抽象时它就消失了。
我不知道为什么会这样,我认为我正在正确设置构造函数,关于如何做到这一点有什么想法吗?谢谢
顾名思义,IERC721
是一个接口。
所以ManagerNFT
需要实现接口的所有功能