Во время исследования дампа я имею дело с нарушением доступа, вызванным этим фрагментом исходного кода:
CByteArray baInput;
... // baInput gets filled in with 9804 entries
BYTE* result;
result = new BYTE[baInput.GetSize()]; // baInput.GetSize() yields 9804, as expected.
memcpy (result, &baInput, baInput.GetSize()); // access violation
Чтобы понять, что происходит, я добавил sizeof(result)
всмотровое окно, которое выдает 8
(хотя я ожидал 9804), но я не уверен, правильно ли это здесь делать.
Я бы хотел быть действительно уверенным, что броньпамяти для переменной result
успешно выполнена.Как я могу это сделать?
У кого-нибудь есть идеи, что здесь может пойти не так?
Заранее спасибо
О, я забыл: я работаю в среде Windows,скорее всего, Windows-10.
Среда программирования основана на наборах Windows версии 8.1.
CByteArray
- это код MFC.
Не знаю, так ли этоимеет значение, но CByteArray
содержит довольно много символов обратной косой черты.