我有以下构造函数:
JSON(initializer_list<myType> myList){
if (end == NULL) {
for(int i=0;i < myList.size() ; i++){
end = myList(i); /* fix this */
}
}
}
end
是struct myType
而myType
的值为struct myType *next
,指向下一个struct myType
,我希望得到每个人myType
来自initializer_list
,以便我可以手动将它们全部放入。当我写end = myList(i);
时,它会抛出错误,获取每个值的正确方法是什么?
答案 0 :(得分:0)
您必须将对象复制出initializer_list
,并且无法将其编入索引(因为它不能用作适当的容器)。
但是,您可以在for循环中访问列表成员:
JSON(initializer_list<myType> myList){
if (end == NULL) {
for(auto& elem : myList){
end = elem;
// do something more with end?
}
}
}
但是,end == NULL
可能不是测试空列表的正确方法,但我不知道如果没有看到其余的系列。