I am not sure what you meant here.
But you must do forward declaration if function defined after place where it will be used:
1 2 3 4 5 6 7 8
int do_nothing()
{
}
int main()
{
do_nothing()
}
Do not need forward declaration: do_nothing() defined before its use in main()
1 2 3 4 5 6 7 8 9 10
int do_nothing(); //Forward declaration. If you delete it, it would be an error
int main()
{
do_nothing()
}
int do_nothing()
{ //Definition
}
You need to do forward declaration bacause otherwise when compiler encounter function call in mait it wouldn't know that this is correct existing function