首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图创建一个简单的硬币,但得到警告的最后两个函数。你能找到并解决这个错误吗?

试图创建一个简单的硬币,但得到警告的最后两个函数。你能找到并解决这个错误吗?
EN

Ethereum用户
提问于 2018-02-07 16:57:49
回答 1查看 89关注 0票数 -1
代码语言:javascript
复制
pragma solidity ^0.4.0;

contract Bubblecoin{


    mapping(address => uint) balances;
    uint  supply;

    function totalSupply() public constant returns (uint){
        return supply;

    }

    function balanceOf(address tokenOwner) public constant returns (uint balance){
        return balances[tokenOwner];
    }

    function transfer(address to, uint tokens) public returns (bool success){

        if (balances[msg.sender] >= tokens && tokens >=0){
            balances[msg.sender]-= tokens;
            balances[to] += tokens;

            return true;

        }

        else {

            return false;
        }
     }

    function mint(uint numberOfCoin){
        balances[msg.sender] += numberOfCoin;
        supply += numberOfCoin;

    }

    function getMyBalance() returns (uint){
        return balances[msg.sender];
    }
}
EN

回答 1

Ethereum用户

发布于 2018-02-08 09:00:32

browser/SomeCoin.sol:34:5:警告:未指定可见性。默认为“公众”。函数mint(uint numberOfCoin){跨越多行的^。

因为您没有提到公开、私有或内部方法的可见性。

我只是概述访问说明符,例如:

  1. public:如果您将方法指定为public,任何人(合同/Web3js)都可以调用您的方法。
  2. 内部:如果将方法指定为内部方法,则只有继承的契约才能访问内存变量或函数。这对于编写通用代码和将合同A扩展到合同B更为有用。
  3. 私有:如果将方法指定为私有方法,则只有当前契约才能访问内存变量或函数。当您想要保护您的逻辑到契约之外时,这会更有用。

出现上述警告:编译器默认情况下表示您的方法是公共可见性。这意味着您的方法在合同之外是可见的。Solidity编译器给出了waring,因为错误地您可能会错过访问说明符。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/38901

复制
相关文章

相似问题

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