首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >预期'(‘但在第10行中有标识符’‘

预期'(‘但在第10行中有标识符’‘
EN

Ethereum用户
提问于 2022-05-09 04:12:51
回答 3查看 27关注 0票数 0
代码语言:javascript
运行
复制
// SPDX-License-Identifier: UNLICENSED

pragma solidity ^0.8.13;

library Groups {

    struct Group {
        mapping(address => bool) members;

        function addMember( Group storage self, address addr ) public returns (bool) { // error
            if(self.members[addr]) {
                return false;
            }
            self.members[addr] = true;
            return true;
        }

        function delMember( Group storage self, address addr ) public returns (bool) {
            if(self.members[addr]) {
                return false;
            }
            self.members[addr] = false;
            return true;
        }
    }
}
EN

回答 3

Ethereum用户

发布于 2022-05-09 05:06:21

代码语言:javascript
运行
复制
if(self.members[addr] == true) {
...
}
票数 0
EN

Ethereum用户

发布于 2022-05-09 05:10:12

为什么不:

代码语言:javascript
运行
复制
mapping(address => bool) members;

function addMember(address _address) public {
 require(members[_address] == false, "Member is already listed");
 members[_address] == true;
}

function removeMember(address _address) public {
 require(members[_address] == true, "Address is already out");
members[_address] == true;
}

function memberStatus(address _address) public returns(bool){
 return members[_address];
}
票数 0
EN

Ethereum用户

发布于 2022-05-09 07:24:50

请在编写函数之前关闭结构,不要在struct中添加函数,这可能会有所帮助

代码语言:javascript
运行
复制
pragma solidity ^0.8.0;

library Groups {
    struct Group {
    mapping(address => bool) members;
    }

    function addMember( Group storage self, address addr ) public returns (bool) { // error
        if(self.members[addr]) {
            return false;
        }
        self.members[addr] = true;
        return true;
    }

    function delMember( Group storage self, address addr ) public returns (bool) {
        if(self.members[addr]) {
            return false;
        }
        self.members[addr] = false;
        return true;
    }
}
票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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