如何获得与initializer_list分开的所有值



我有以下构造函数:

JSON(initializer_list<myType> myList){
    if (end == NULL) {
        for(int i=0;i < myList.size() ; i++){
            end = myList(i); /* fix this */
        }
    }
}

endstruct myTypemyType具有一个值struct myType *next,该值指向下一个struct myType,我想从initializer_list中获取每个单独的myType,以便我可以手动将它们放置。当我编写end = myList(i);时,它正在丢弃错误,获取每个单个值的正确方法是什么?

您必须从initializer_list中复制对象,并且您不能索引中(因为它不是设计用作合适的容器)。

但是,您可以在for循环中访问列表的成员:

JSON(initializer_list<myType> myList){
    if (end == NULL) {
        for(auto& elem : myList){
            end = elem;
            // do something more with end?
        }
    }
}

但是, end == NULL可能不是测试空列表的正确方法,但是我不知道而不看到coe的其余部分。

相关内容

最新更新