Я работаю над программой, которую не кодировал, но хочу (нужно) понять.Он находится в C ++ в контексте виртуальных функций.
В какой-то момент он устанавливает виртуальную булеву функцию «acceptReject», как показано здесь.
virtual bool acceptReject(const Double& DeltaH) const = 0;
Затем он устанавливает для этого виртуального булево значениебудьте конкретной булевой функцией globalMetropolisAcceptReject, как показано здесь:
bool acceptReject(const Double& DeltaH) const {
globalMetropolisAcceptReject(DeltaH);
}
Если я вызываю globalMetropolisAcceptReject напрямую, все работает.Если я вызываю acceptReject (виртуальная функция), он правильно вводит и обрабатывает код, но не возвращает значение обратно.Вместо этого он всегда выдает ложь.
Есть предположения о том, что не хватает?