外部函数中参数的数据位置必须是 "calldata",但给出了 none
Data location must be "calldata" for parameter in external function, but none was given
对于用 Solidity 编写的函数,我在 Remix 中遇到以下错误。
我认为这是因为智能合约是用低于 solidity ^0.5.0 的 solidity 版本编写的,现在更新的编译器有不同的要求。
我确信更正很容易,但我是 solidity 的新手,似乎无法解决它。任何帮助将不胜感激!
外部函数是;
function TransferFrom(
address _from,
address _to,
uint256 _tokenId,
bytes _data
)
external;
错误是:
Data location must be "calldata" for parameter in external function,
but none was given.
bytes _data
^----------^
您需要将 bytes _data
标记为 calldata
。
function TransferFrom(
address _from,
address _to,
uint256 _tokenId,
bytes calldata _data
) external;
对于用 Solidity 编写的函数,我在 Remix 中遇到以下错误。
我认为这是因为智能合约是用低于 solidity ^0.5.0 的 solidity 版本编写的,现在更新的编译器有不同的要求。
我确信更正很容易,但我是 solidity 的新手,似乎无法解决它。任何帮助将不胜感激!
外部函数是;
function TransferFrom(
address _from,
address _to,
uint256 _tokenId,
bytes _data
)
external;
错误是:
Data location must be "calldata" for parameter in external function,
but none was given.
bytes _data
^----------^
您需要将 bytes _data
标记为 calldata
。
function TransferFrom(
address _from,
address _to,
uint256 _tokenId,
bytes calldata _data
) external;