5 关于calldata的函数调用问题

Snipaste_20220503_202747.png 如上图,我在合约内部的getString()调用内部函数f()时f的第一个参数报错。 我尝试在f()前面加上this.强行外部调用f()报错又没了。如下图。Snipaste_20220503_202806.png 之后我不加this.把f()第一个参数的存储位置改为memory,也不会报错。由此我推断出是calldata的问题。如下图。Snipaste_20220503_203505.png 所以,我想问下,在我这里加不加this.对calldata有啥影响?

请先 登录 后评论

最佳答案 2022-05-05 10:55

calldata 仅用于外部调用,用来存储外部调用的参数。

请先 登录 后评论

其它 0 个回答

  • 2 关注
  • 0 收藏,1502 浏览
  • Jacky黎 提出于 2022-05-03 20:39