Добрый день!
Есть класс:
class CBytes : public std::vector<BYTE>
{
public:
CBytes()
{}
CBytes(const CBytes& str)
:std::vector<BYTE>(str.begin(), str.end())
{
}
CBytes& operator= (const CBytes& str)
{
if (this != &str)
{
clear();
insert(end(), str.begin(), str.end());
}
return *this;
}
};
И есть вот этот код:
CArray<CBytes , CBytes> testArray;
CBytes killme;
testArray.Add (CBytes ());
killme = testArray[0];
testArray.Add (CBytes ());
killme = testArray[0];
если запустить этот код в дебаговой конфигурации – программа падает на последней строчке этого кода
killme = testArray[0]Если конкретнее - падает внутри
operator= на строке
insert(end(), str.begin(), str.end());кто может объяснить данный феномен?
У меня Visual Studio 2010, Windows 7 Pro 64
Пробовал в проекте MFC Dialog-based, Unicode