Это наверняка результат переполнения буфера записи.Это означает, что в некотором месте вы записываете в буфер больше символов, чем выделено для него.
Вы можете использовать std::wstring
вместо обычных буферов, что избавит вас от необходимости управлять своими буферами.Проверяйте каждую операцию записи в буферы.
При удалении обнаруживается переполнение, поскольку менеджер кучи затем проверяет наличие некоторого шаблона в начале и конце буферов в режиме отладки.
Как и другиеРекомендуется также позаботиться о сопоставлении выделения и освобождения:
- new [] -> delete []
- new -> delete
- malloc -> free (что являетсяC и обычно не особенно полезен в C ++)