我有以下构造函数:
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
,我想从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的其余部分。