У меня проблема с этим кодом:
Проблема в том, что я постоянно получаю предупреждение C4715, несмотря на то, что .exe работает правильно и дает правильный ответ на проблему, которую я пытаюсь решить. разрешить. Предупреждение делает невозможным выполнение задачи внутри приложения. Пожалуйста, дайте мне понять, почему слово return, которое я использовал в предложениях if, не работает.
#include <utility>
#include <iostream>
std::pair<int, int> solve(int a, int b) {
if (a == 0 || b == 0) {
std::pair <int, int> kek(a, b);
return kek;
}
else if (a >= 2 * b) {
a = (a - (2 * b));
solve(a, b);
}
else if (b >= 2 * a) {
b = (b - (2 * a));
solve(a, b);
}
else {
std::pair <int, int> kek(a, b);
return kek;
}
}
int main() {
bool result{ solve(22, 5) == std::make_pair(0,1) };
std::cout << result;
return 0;
}