|
Boost : |
From: Giovanni Bajo (giovannibajo_at_[hidden])
Date: 2003-03-26 12:02:50
Hello,
I have observed a strange behaviour with shared_ptr:
struct A
{
shared_ptr<int> ptr;
operator bool()
{ return ptr; }
};
A a;
a.ptr.reset(new int);
assert(a.ptr);
assert(a);
Now, the second assertion fails (Comeau). It works if for example I change
my operator bool into "return ptr ? true : false;". This is
counter-intuitive to me. Can anybody explain me why?
Giovanni Bajo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk