Solidity Ide- interface error: Contract "Cat" should be marked as abstract
Solidity Ide- interface error: Contract "Cat" should be marked as abstract
我是 Solidity 新手,使用的是 0.8.7 版!
我正在练习抽象合同和接口,但遇到此错误:合同“Cat”应标记为抽象。
下面是我的代码。
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
abstract contract Animal {
uint8 head = 1;
function braking() public virtual pure returns(string memory);
}
interface get {
function getHeadNumber() external returns(uint8);
}
contract Dog is Animal, get{
function braking() public override pure returns(string memory) {
return "Woof!!";
}
function getHeadNumber() public override view returns(uint8) {
return head;
}
}
contract Cat is Animal, get { < < < error here !!!!
function braking() public override pure returns(string memory) {
return "Meow!!";
}
function getHeadnumber() public override view returns(uint8) {
return head;
}
}
我想知道为什么contract Dog可以不用abstract,而contract Cat不行!!
如果你需要detail error messages
抱歉我的英语不好,希望你今天过得愉快。
非常感谢!!!
注意区分大小写:
interface get
定义getHeadNumber()
(Number
中的大写N
)。
但是 contract Cat
试图覆盖 getHeadnumber()
(number
中的小写 n
)。
解决方法:将contract Cat
中的函数重命名为getHeadNumber()
(大写N
)。
我是 Solidity 新手,使用的是 0.8.7 版!
我正在练习抽象合同和接口,但遇到此错误:合同“Cat”应标记为抽象。
下面是我的代码。
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
abstract contract Animal {
uint8 head = 1;
function braking() public virtual pure returns(string memory);
}
interface get {
function getHeadNumber() external returns(uint8);
}
contract Dog is Animal, get{
function braking() public override pure returns(string memory) {
return "Woof!!";
}
function getHeadNumber() public override view returns(uint8) {
return head;
}
}
contract Cat is Animal, get { < < < error here !!!!
function braking() public override pure returns(string memory) {
return "Meow!!";
}
function getHeadnumber() public override view returns(uint8) {
return head;
}
}
我想知道为什么contract Dog可以不用abstract,而contract Cat不行!!
如果你需要detail error messages
抱歉我的英语不好,希望你今天过得愉快。
非常感谢!!!
注意区分大小写:
interface get
定义getHeadNumber()
(Number
中的大写N
)。
但是 contract Cat
试图覆盖 getHeadnumber()
(number
中的小写 n
)。
解决方法:将contract Cat
中的函数重命名为getHeadNumber()
(大写N
)。