首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于外部函数中的参数,数据位置必须为"calldata“,但未给出任何值

对于外部函数中的参数,数据位置必须为"calldata“,但未给出任何值
EN

Stack Overflow用户
提问于 2019-07-24 17:28:55
回答 1查看 2.5K关注 0票数 0

我在Remix中得到了下面的错误,因为函数是用实心写的。

我认为这是因为智能合约是用Solidity^0.5.0以下的版本编写的,而现在更多的最新编译器有不同的要求。

我相信修正是很容易的,但我是新手,似乎解决不了这个问题。任何帮助都将不胜感激!

外部函数为;

代码语言:javascript
复制
 function TransferFrom(
    address _from,
    address _to,
    uint256 _tokenId,
    bytes _data
  )
    external;

错误是:

代码语言:javascript
复制
Data location must be "calldata" for parameter in external function, 
but none was given.
bytes _data
^----------^
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-24 23:09:48

您需要将bytes _data标记为calldata

代码语言:javascript
复制
function TransferFrom(
address _from,
address _to,
uint256 _tokenId,
bytes calldata _data
) external;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57179619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档