
30 Jun
2009
30 Jun
'09
7:29 p.m.
I have a function defined as template<typename T> void foo(const T& x); and then I use boost::bind(foo, x); However, once the code is inside the body of foo, the addresses of x inside foo and the addresses of x when I called bind are different. So somehow a copy is being made. I can get around it by using boost::ref(), but is there a technical reason why it doesn't "just work" and pass it by reference?