void change(bool& n){
if(n)n=0;
else n=1;
}
int oddCells(int n, int m, vector<vector<int>>& indices) {
vector<bool> r(n,0);
vector<bool> c(m,0);
for(vector<int> i:indices){
change(r[i[0]]);//报错
change(c[i[1]]);//报错
}
int a=num1(r);
int b=num1(c);
int result=a*m+b*n-a*b;
return result;
}
vector《bool》有其特殊性,不能算真正意义上的容器,他在底层为了减小存储空间,每一个bool值都是一位一位进行存储的,在节省空间的情况下会导致
最后的访问效率变低。由于这种特殊性,他的返回值比如r[0]是个右值,所以应当避免使用vector《bool》 如果对于存储空间要求没有这么高建议改成vector《int》
或者使用vector《BOOL》