警告:未指定可见性。违反公共"

时间:2017-11-08 10:44:59

标签: metadata solidity

我正在做一个criptoCoin,我正在使用Solidity,我有以下代码:

pragma solidity ^0.4.11;

interface IERC20 {
    function totalSupply() constant returns (uint256 totalSupply);
    function balanceOf(address _owner) constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
    function approve(address _spender, uint256 _value) returns (bool success);
    function allowance(address _owner, address _spender) constant returns (uint256 remaining);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

出于某种原因,它给了我这个错误:

  

browser / IERC20.sol:6:5:警告:未指定可见性。违约   公共"。       函数转移(地址_to,uint256 _value)返回(bool成功);

它在我的所有职能中都有这个,我不知道为什么。 谁能告诉我发生了什么事?

我正在使用以太坊,Solidity和Metadata执行此操作,但为了能够执行下一步,我需要使用我的界面才能正常工作。

2 个答案:

答案 0 :(得分:1)

我不得不添加" Public"功能。

pragma solidity ^0.4.11;

interface IERC20 {
    function totalSupply() public constant returns (uint256 totalSupply);
    function balanceOf(address _owner) public constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) public returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    function allowance(address _owner, address _spender) public constant returns (uint256 remaining);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

答案 1 :(得分:0)

当您没有明确地将该函数描述为公共但不会影响合同的工作时,它只是一个静态警告。如果您为所有函数编写函数定义,它将运行良好。