无法正确继承其他人的合同

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需要实现接口的所有功能