Переопределение, различные базовые типы

возникает такая ошибка : opt : переопределение; различные базовые типы. Не понимаю, что не так, спасибо!

void generation(int size, int* cur_res) {
    for (int i = min[size]; i <= max[size]; i++) {
        if (size == 9) {
            opt(0, 0, cur_res);
            continue;
        }
        generation(size + 1, cur_res);
    }
    return;
}

void opt(int first, int cur_sum, int* cur_res) {
 ...
}

Ответы (1 шт):

Автор решения: Harry

Вангую, что opt объявлена после использования в generation.

Соответственно, C-компилятор считает, что это будет какая-то функция, возвращающая int и с типами параметров, соответствующими аргументам.

После чего встречается с функцией с тем же именем, но возвращающей void...

Объявите функцию opt до generation. Делать ее int не рекомендую :)

→ Ссылка