众所周知,大括号初始化给数组赋值只能在初始化的时候用。
然而给数组赋值大量常量的时候必须手动去赋值。
所以我试图去重载运算符:
template<typename TP>
TP& operator=(TP *x,initializer_list<TP>ilist){
auto rt=x;
for(auto it=ilist.begin();it!=ilist.end();it++) x=*it;
return x;
}
然而发现编译报错 must be a nonstatic member function
据查是等号运算符需要重载在定义函数之内的。
然而我记得之前看到过类似的问题,但是用了不知道什么方法确实重载到函数之外了。
希望能提供那种方法,或者给出更好的实现