#include <initializer_list>
struct Obj {
int i;
};
Obj a, b;
int main() {
for(Obj& obj : {a, b}) {
obj.i = 123;
}
}
Этот код не компилируется, поскольку значения из initializer_list
{a, b}
принимаются как const Obj&
и не могут быть привязаны к неконстантной ссылке obj
.
Есть ли простой способ заставить подобную конструкцию работать, то есть перебирать значения, которые находятся в разных переменных, например, здесь a
и b
.