C++ - forward declaration not working : Here is the short example of my forward declaration code which is not working:

    void Register();
    void Menu();

    void Register()
    {
    Menu();
    }

    void Menu()
    {
    Register();
    }

    void main()
    {
    Menu();
    }

It's like this, when the program runs, it goes to the Menu(), then when selected, it goes to Register(), but when it wanna call back the function Menu(), the program exited. What's wrong with it?