[LC++]STL and auto_ptr woes
    Charles Randle 
    charlesrandle at hotmail.com
       
    Thu Mar  7 01:18:10 UTC 2002
    
    
  
Hi All ,
I am using the STL to store pointers to objects which are expensive to copy 
(hence the pointers.
I know it isn't a good idea to use the auto_ptr class with STL classes but I 
don't readily remember why could anyone tell me why the following wouldn't 
be a good idea ?
::std::map < 
::std::string,::std::pair<auto_ptr<someobject1>,auto_ptr<someobject2> > > 
bigMap;
Given that the above isn't a good idea I have the following:
::std::map < ::std::string , ::std::pair<someobject1 *,someobject2 *> > 
BigMap2
However when I assign the pointers to an auto_ptr object as in:
::std::auto_ptr<someobject1> vb = BigMap2["located"].second.first;
the compiler gives the following error:
simple.cpp:52:conversion from 'someobject1*' to non-scalar type 
'std::auto_ptr<someobject1>' requested
What is the reason for this error and what can I do to fix it ???
Best Regards,
Charles Randle
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com
    
    
More information about the tuxCPProgramming
mailing list