Solidity
乙太坊錢包編譯錯誤
我正在嘗試在https://ethereum.org/token中編譯範例合約,並按照說明進行操作。
乙太坊錢包無法編譯它。我收到以下錯誤消息
Expected ',' but got identifier interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes calldata _extraData) external; } ^--------^
第一次嘗試在乙太坊中做合約,並認為來自官方乙太坊網站的範常式式碼應該可以工作。誰能告訴我出了什麼問題?
這是因為
solidity
版本。如果使用solc@0.4.x
則使用interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; }
代替
interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes calldata _extraData) external; }
或者將solidity版本更改為
solc@0.5.0
檢查你的 Solidity 編譯器版本。
“calldata” 可用0.5.0 或更高版本