我在remix中尝试了上面的solidity样例,使用的是solidity版本大于0.5.0。 但现在我遇到了这个错误。 有什么方法可以解决这个错误吗?
contract MyContract {
string value;
function get() public view returns (string) {
return value;
}
function set(string _value) public {
value = _value;
}
constructor() public {
value = "myValue";
}
}
memory
和calldata
的区别以及它们的使用情况吗? - agentpcalldata
是一个不可修改、非持久化的区域,用于存储函数参数,并且行为大部分像内存。在声明外部函数的动态参数时必须使用它。memory
是可变的、非持久化的,用于函数声明参数,其生命周期仅限于函数调用,并且应该在声明变量(包括函数参数以及函数逻辑内部)时使用,以便将其存储在内存中(临时)。 - Ahmad Altayeb