Recursion with main()

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Sonia

    Recursion with main()

    quick Question. Can main() function be called recursively. Anything wrong
    with calling it recursively ?

    Thanks


  • Artie Gold

    #2
    Re: Recursion with main()

    Sonia wrote:[color=blue]
    > quick Question. Can main() function be called recursively. Anything wrong
    > with calling it recursively ?
    >[/color]
    Recursive `main()' is *not* legal in standard C++.

    <OT>It *is* legal in C, but *rarely* a Good Idea.</OT>

    HTH,
    --ag




    --
    Artie Gold -- Austin, Texas

    Comment

    • John Harrison

      #3
      Re: Recursion with main()


      "Sonia" <smach02@hotmai l.com> wrote in message
      news:UyO4b.4575 $UF.2204@bignew s2.bellsouth.ne t...[color=blue]
      > quick Question. Can main() function be called recursively. Anything wrong
      > with calling it recursively ?
      >
      > Thanks
      >[/color]

      It is specifically forbidden in C++ (for some reason that's never been
      adequately explained to me). But there is nothing wrong with this

      int pseudo_main()
      {
      ...
      pseudo_main();
      }

      int main()
      {
      return pseudo_main();
      }

      john


      Comment

      • Kevin Goodsell

        #4
        Re: Recursion with main()

        John Harrison wrote:
        [color=blue]
        > "Sonia" <smach02@hotmai l.com> wrote in message
        > news:UyO4b.4575 $UF.2204@bignew s2.bellsouth.ne t...
        >[color=green]
        >>quick Question. Can main() function be called recursively. Anything wrong
        >>with calling it recursively ?
        >>
        >>Thanks
        >>[/color]
        >
        >
        > It is specifically forbidden in C++ (for some reason that's never been
        > adequately explained to me).[/color]

        Well, I don't know if this is adequate or even precisely accurate, but
        my understanding is that implementations can stick all kinds of
        initializations stuff in at the beginning of main(), and if that stuff
        were executed more than once the results could be bad.

        Of course, I don't see any good reason that an implementation could not
        do precisely what you did in your reply. Perhaps this point makes this
        explanation inadequate.

        -Kevin
        --
        My email address is valid, but changes periodically.
        To contact me please use the address from a recent posting.

        Comment

        Working...