У меня есть требование, в котором мне нужно смоделировать не виртуальную функцию с помощью GTest / GMock. Итак, я обернул эту функцию и связал ее в файле набора тестов «tst_def». Для упакованной функции целое число передается по ссылке, и когда я устанавливаю любое значение внутри упакованной функции в это целое число, набор тестов «Сбои с повреждением памяти» во время выполнения (ошибка сегментации).
Важное наблюдение:
Этот сбой не происходит, когда я устанавливаю то же значение по умолчанию для этого целого числа внутри обернутой функции, которое назначено при его создании, но происходит сбой только тогда, когда я назначаю любое другое значение.
редактировать:
Учтите, что значение1, переданное этой функции-оболочке, имеет начальное значение 0.
extern "C" {
int __wrap_function(int &value1)
{
value1 = 3; //crashes
value1 = 0; //didnt crash
return 0;
}
}
Задача ещё не решена.
Других решений пока нет …