
On Feb 9, 2007, at 2:38 AM, Sebastian Weber wrote:
At least that's how I understood, how the property_map concept works. However, if I use a bit-vector the above scheme breaks down to work:
std::vector<bool> bit_props(num_vertices(my_graph), false)
bfs_search(..., make_my_vistor(&bit_props[0]), ...)
The compiler compiles these lines, but complains that a temprorary is passed as a reference to make_my_visitor and the code generated crashes. My system is a Ubununtu Edgy with boost 1.33.1 and g++ 4.1.2. Any ideas why this happens and what I can do here?
The problem here is that vector<bool> does a space "optimization" by packing bool values into individual bits, and you can't take the address of a bit. Instead of trying to get a pointer to the bits, use iterators into the bit vector, e.g., bfs_search(..., make_my_vistor(bit_props.begin()), ...) Cheers, Doug