В моём проекте, разрабатываемом на Visual Studio 2012, я помещаю структуру моего типа MyStruct в std::vector<MyStruct> . Размер структуры MyStruct -- 16008 байт.
При помещении в этот вектор с помощью функции push_back у меня в отладчике выскакивает следующее сообщение об ошибке:
Необработанное исключение по адресу 0x00F12979 в MyProject.exe:
0xC000041D: Во время обратного вызова пользователя обнаружено необработанное исключение.
При этом отладчик останавливается в файле vector в функции:
bool _Inside(const value_type *_Ptr) const
{
return (_Ptr < this->_Mylast && this->_Myfirst <= _Ptr);
}
При попытке выделить память в этом векторе с помощью функции reserve(sizeof(MyStruct)); у меня в отладчике выскакивает следующее сообщение об ошибке:
Необработанное исключение по адресу 0x00A633C9 в MyProject.exe:
0xC000041D: Во время обратного вызова пользователя обнаружено необработанное исключение.
При этом отладчик останавливается в файле vector в функции:
size_type capacity() const _NOEXCEPT
{
return (this->_Myend - this->_Myfirst);
}
Что это означает? Как решить эту проблему--как поместить структуру типа MyStructm размером в 16008 байт в std::vector<MyStruct> ?
1613 г. = 2024 г.