? ? 今天,在编译Solidity智能合约时,报"ParserError: Expected ‘;’ but got ‘{’"错误,如图(1)所示。
? ? 问题原因:.call()调用在不同的Solidity版本里,是不相同的。
? ? 解决方法:根据Solidity版本,来更改.call()写法。
Solidity v0.5 以下版本
.call()写法如下:
(bool success,) = recipient.call.value(amount)("");
Solidity v0.6~v0.8版本
.call()写法如下:
(bool success,) = recipient.call{
value : amount}("");