wywołanie funkcji przed jej definicją

0

Czy jest jakiś sposób na ominięcie problemu jak w temacie ?

Przykładowy kod dla zobrazowania o co mnie chodzi poniżej.

 
void foo1()
{
    foo3(); //to nie zadziała
}
void foo2()
{
    foo1();
}
void foo3
{
    foo1();
}

Wiem, że mógłbym po prostu nie wywoływać, tylko wykonywać wszystkie 3 czynności w jednej funkcji (która w moim przypadku rozrosła by się dosyć), ale nie byłoby to do końca zgodne z OOP (nie byłoby ładnego podziału na funkcje) i, co chyba ważniejsze, stałoby się mniej czytelne.

Konkretny fragment kodu całego programu, z którym mam problem: http://pastebin.com/sqSivVNy

1

Musisz dodać deklaracje funkcji.

 
void foo3();

void foo1()
{
    foo3(); //to już działa ;)
}
void foo2()
{
    foo1();
}
void foo3
{
    foo1();
}
0

Jako dopełnienie do odpowiedzi od @sephirot8608 ...
Jeżeli dasz na początku deklaracje (czasami nazywane nagłówkami):
void foo1();
void foo2();
void foo3();

To dalej ich definicje możesz je umieszczać w dowolnej kolejności. Przeważnie takie deklaracje pakują się do pliku z rozszerzeniem *.h (dla tego nazywa się plikiem nagłówkowym że zawiera nagłówki = deklaracje) i dołącza się taki plik za pomocą

#include <plik_nagłówkowy.h> 

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.