Основная проблема в том, что вы не объявили функции полностью.Каждая сигнатура функции должна начинаться с возвращаемого типа переменной, а все аргументы должны указываться с типом, например:
void insert_before(int arg)
{
...
}
Чтобы две функции вызывали друг друга, вам нужно будет объявить как минимум одну,но обычно вы делаете это для всех своих функций и помещаете его в общий файл .h
, который включается в ваши исходные файлы, использующие эту функцию.Эти «предварительные объявления» обычно называются прототипами функций и выглядят так:
void insert_before(int arg);
void insert_after(int arg);
Отступ - это реальная проблема ... это может быть симптомом публикации в SO, но публикация кода здесьтакже более читабельным, если он имеет отступ.
Кроме того, если условие 1 одинаково в обеих функциях, то вы, вероятно, будете иметь бесконечные рекурсивные вызовы, которые приведут к переполнению стека.