我刚刚注意到,在 N3291 中标记了一个更改(5.2.1 Subscripting [expr.sub]):
之前,可以operator[]
使用新的braced-init-list重载:
struct X {
Z operator[](std::initializer_list<int>);
};
X x;
x[{1,2,3}] = 7; // OK: meaning x.operator[]({1,2,3})
现在将其删除并替换为:
括号初始化列表不应与内置下标运算符一起使用。
出了什么问题?