У меня есть функция foo () в dll A.dll, определение которой выглядит следующим образом
vector<CustomObject> foo()
{
vector<CustomObject> customObjectCollection;
//code which populates customObjectCollection goes here
return customObjectCollection;
}
Я имею в виду этот метод vector foo () из dll A из exe B
Когда я вызываю функцию foo из B, я получаю необработанное исключение, которое говорит
"необработанное исключение в
0x10487b3f (msvcp90d.dll) в B.exe "
0xC0000005: нарушение доступа при
запись в адрес 0xfdfdfdfd ".
Примечание: тип CustomObject не реализует конструктор копирования
Когда я попытался отладить, подключив B.exe к A.dll, я обнаружил, что внутри метода vector foo () вектор заполняется без проблем, но когда элемент управления возвращается к B.exe, клапаны в векторе не получают скопировано !!!
Также, если метод foo возвращает вектор по ссылке, исключение не возникает и B.exe получает пустой вектор.
в чем проблема ?? Это происходит, поскольку я не реализовал конструктор копирования для CustomObject.
Любая помощь очень ценится
(Извиняюсь за неправильное формулирование вопроса)
Спасибо
Jeel