I did some tests with the operator &=
. As the following examples shows, this works for single bool
type as well as a vector<int>
type, but not vector<bool>
.
#include <vector>
int main (){
bool a, b;
a &= b; // ok
std::vector<bool> c(1);
c[0] &= b; // error
c[0] = c[0] & b; // ok
std::vector<int> d(1);
d[0] &= b; // ok
return 0;
}
Can anyone tell what is going on here?
(I'm using gcc 4.4.3)