
15 Jul
2008
15 Jul
'08
8:26 a.m.
Marshall Clow skrev:
At 4:43 PM -0500 7/14/08, Meryl Silverburgh wrote:
Hi,
Can you please tell me how can I return a 'null' smart pointer?
typedef shared_ptr<MyA> MyAPtr; typedef vector<MyAPtr> MyAVector;
For example,I have this code, which return NULL in an error situation:
MyAPtr myfunction(MyAVector& v, int size) { if (index < v.size()) { return v[index]; } else { // how can I return NULL here? } }
How can I achieve that when I use boost smart pointer?
I suggest that you throw an exception here, rather than returning some bogus value.
I concur, but I suggest you simply add a precondition: assert( index < v.size() ) -Thorsten