Не выделяется память в std::vector
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 29.12.18 08:22
Оценка:
В моём проекте, разрабатываемом на 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 г.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.