Solidity

REMIX:該合約沒有實現所有功能,因此無法創建

  • April 12, 2019

我該怎麼辦?

pragma solidity ^0.4.21;
contract ScoreInterface {
        function hit() public;
        function score() public view returns (uint);
}

該合約未實現所有功能,因此無法創建

那是一個介面合約。

它們很有用,但無法部署。它們包含沒有程式碼塊的函式簽名,因此 EVM 不知道該做什麼 - 不可接受。

介面可以為開發人員的錯誤提供一層保護。

contract Score is ScoreInterface {
 // now we are committed to implementing each function in ScoreInterface
 function hit() public {
   // do something
 }
 function score() public view returns (uint) {
   // do something
 }
}

Score當定義了這些功能中的每一個時,它將是可部署的。

介面描述合約的表面區域而不描述內部程式碼。這對於想要互動的其他合約很有用。

contract Game {

 function recordHit(address scoreContract) public {
   ScoreInterface s = ScoreInterface(scoreContract);
   s.hit();
 }
}

希望能幫助到你。

閱讀抽象契約,您將更深入地了解為什麼會出現此錯誤。 https://solidity.readthedocs.io/en/v0.5.3/contracts.html#abstract-contract

引用自:https://ethereum.stackexchange.com/questions/69370