Solidity 编译合约错误 No visibility specified. Did you intend to add "public"

yufei       5 年, 6 月 前       5227

没想到 Solidity 里也有 publicprivate 两种可见修饰符

如果一个方法需要对外可见,也就是可以通过 合约 ABI 来访问,那么需要添加 public ,如果不对外访问,则需要添加 private

如果你没添加,则会出现以下错误

HelloWorldContract.sol:3:3: SyntaxError: No visibility specified. Did you intend to add "public"?\n  function sayHi() view returns (string){\n  ^ (Relevant source part starts here and spans across multiple lines).\n

比如我的源码如下

pragma solidity ^0.5.8;
contract HelloWorldContract {
  function  sayHi() pure returns (string memory _greeting){
    _greeting = 'Hello World';
  }
}

则需要改成

pragma solidity ^0.5.8;
contract HelloWorldContract {
  function  sayHi() public pure returns (string memory _greeting){
    _greeting = 'Hello World';
  }
}
2 回复  |  直到 Mar 03, 2021

kaixinxiaoaimi

#1   •   3 年, 8 月 前   •  

谢谢,解决了我的问题

yufei

#2   •   3 年, 8 月 前   •  

@kaixinxiaoaimi 有帮助就好啊

简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.