Re: STL vector push_back bug????
From: Tobias Güntner (fatbull_at_users.sourceforge.net)
Date: 07/29/04
- Next message: David: "std::string type conversion"
- Previous message: Tim Robinson: "Re: STL vector push_back bug????"
- In reply to: MakisGR: "STL vector push_back bug????"
- Next in thread: Stephen Howe: "Re: STL vector push_back bug????"
- Messages sorted by: [ date ] [ thread ]
Date: Fri, 30 Jul 2004 01:37:40 +0200
MakisGR wrote:
> TCITEM item;
> char sBuffer[50];
...
> item.pszText = sBuffer;
> item.cchTextMax = sizeof(sBuffer)/sizeof(char);
...
> orgTabs.push_back(item);
sBuffer will be destroyed when your function returns. Since only a
pointer to a string is stored in TCITEM::pszText, you end up with
several invalid pointers in your vector.
You should define your own data structure and copy all data, e.g.
struct MySafeTcItem
{
std::string title;
...
};
MySafeTcItem safe_item;
safe_item.title = item.pszText;
orgTabs.push_back(safe_item);
-- Regards, Tobias
- Next message: David: "std::string type conversion"
- Previous message: Tim Robinson: "Re: STL vector push_back bug????"
- In reply to: MakisGR: "STL vector push_back bug????"
- Next in thread: Stephen Howe: "Re: STL vector push_back bug????"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|