我正在用remix编译器写合同,并且正面临这个问题。有人可以帮我了解我在做什么错,为什么在尝试返回_initialMessage或这种情况下遇到新消息时遇到类型错误
pragma solidity >=0.4.22 <0.7.0;
contract Inbox{
string message;
function _Inbox(string memory _initialMessage) private {
return _initialMessage;
}
function _setMessage(string memory _newMessage) private{
return _newMessage;
}
function _getMessage() public view returns(string memory){
return message;
}
}
答案 0 :(得分:0)
您需要在_inbox和_setMessage方法中设置变量。 将您的代码更改为:
pragma solidity >=0.4.22 <0.7.0;
contract Inbox{
string message;
function _Inbox(string memory _initialMessage) private {
message = _initialMessage;
}
function _setMessage(string memory _newMessage) private{
message = _newMessage;
}
function _getMessage() public view returns(string memory){
return message;
}
}
答案 1 :(得分:0)
我们需要提及使用返回('返回类型')的函数预期返回的类型和数量。
例如。在 _Inbox 函数中,你只需要包含返回(字符串)。