Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. func(void) or func() ?

func(void) or func() ?

Scheduled Pinned Locked Moved The Lounge
questioncsharpvisual-studio
26 Posts 14 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Vagif Abilov

    main function can be declared as returning void or int both in C and C++. If you declare it as int, you let your program return a value (typically an error code) that operating system or calling process can use. Vagif Abilov MCP (Visual C++) Oslo, Norway Hex is for sissies. Real men use binary. And the most hardcore types use only zeros - uppercase zeros and lowercase zeros. Tomasz Sowinski

    C Offline
    C Offline
    Christian Graus
    wrote on last edited by
    #7

    Vagif Abilov wrote: main function can be declared as returning void or int both in C and C++. Wrong. void main is an aberation tolerated by bad compilers such as VC++. Post an example with void main into comp.lang.c++, and watch how many people jump to tell you that is not C++, as defined by the standard, at all. Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

    J 1 Reply Last reply
    0
    • D Daniel Turini

      Robert Edward Caldecott wrote: void SomeFunc(); This is old K&R C style. It's supported for backward compatibility. Robert Edward Caldecott wrote: void SomeFunc(void); This is C++ style. Do you know the programming forums? They are nice ;P lazy isn't my middle name.. its my first.. people just keep calling me Mel cause that's what they put on my drivers license. - Mel Feik

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #8

      Daniel Turini wrote: Robert Edward Caldecott wrote: void SomeFunc(void); This is C++ style. It's not C++ at ALL, nor can I find an example in Stroustrup where he declares void as the parameters. I always thought that declaring void was C, I've never seen it in a C++ program. Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

      L A 2 Replies Last reply
      0
      • C Christian Graus

        Daniel Turini wrote: Robert Edward Caldecott wrote: void SomeFunc(void); This is C++ style. It's not C++ at ALL, nor can I find an example in Stroustrup where he declares void as the parameters. I always thought that declaring void was C, I've never seen it in a C++ program. Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #9

        Exactly! Which is why I asked why MS are now doing this with their VS.NET ClassWizard - VC6 never bothered...


        When I am king, you will be first against the wall.

        1 Reply Last reply
        0
        • C Christian Graus

          Daniel Turini wrote: Robert Edward Caldecott wrote: void SomeFunc(void); This is C++ style. It's not C++ at ALL, nor can I find an example in Stroustrup where he declares void as the parameters. I always thought that declaring void was C, I've never seen it in a C++ program. Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

          A Offline
          A Offline
          Anna
          wrote on last edited by
          #10

          Christian Graus wrote: I always thought that declaring void was C, I've never seen it in a C++ program. You haven't looked at any of my source then. ;) Anna :rose: "Be yourself - not what others think you should be"
          - Marcia Graesch

          C 1 Reply Last reply
          0
          • A Anna

            Christian Graus wrote: I always thought that declaring void was C, I've never seen it in a C++ program. You haven't looked at any of my source then. ;) Anna :rose: "Be yourself - not what others think you should be"
            - Marcia Graesch

            C Offline
            C Offline
            Christian Graus
            wrote on last edited by
            #11

            Anna :) wrote: You haven't looked at any of my source then. Fair enough... I knew it could be done that way, you understand, it's just that with all the people I have worked with, all the code I have downloaded and all the books I have read ( including both from Stroustrup ), I've never seen it used. I don't think it's particularly wrong, only void main is actually *wrong*, but I see a fair bit of it, and as I say, no int main(void) Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

            J A 2 Replies Last reply
            0
            • C Christian Graus

              Vagif Abilov wrote: main function can be declared as returning void or int both in C and C++. Wrong. void main is an aberation tolerated by bad compilers such as VC++. Post an example with void main into comp.lang.c++, and watch how many people jump to tell you that is not C++, as defined by the standard, at all. Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

              J Offline
              J Offline
              John Burton
              wrote on last edited by
              #12

              Post almost *anything* into comp.lang.c++ and see how many people jump on your post. I have to say it's the most unhelpful group on usenet. The people there seem to take much more interest in putting people down than it trying to help them.

              L C 2 Replies Last reply
              0
              • J John Burton

                Post almost *anything* into comp.lang.c++ and see how many people jump on your post. I have to say it's the most unhelpful group on usenet. The people there seem to take much more interest in putting people down than it trying to help them.

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #13

                Sounds just like 99% of the Linux community! ;)


                When I am king, you will be first against the wall.

                1 Reply Last reply
                0
                • J John Burton

                  Post almost *anything* into comp.lang.c++ and see how many people jump on your post. I have to say it's the most unhelpful group on usenet. The people there seem to take much more interest in putting people down than it trying to help them.

                  C Offline
                  C Offline
                  Christian Graus
                  wrote on last edited by
                  #14

                  That is probably true, but I suspect it's partly because they are sick of being asked Windows programming questions. Either way, void main is plain wrong, that is all I was trying to say. And while it can be daunting, comp.lang.c++ is a hell of a good place to improve your C++ skills. Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

                  1 Reply Last reply
                  0
                  • C Christian Graus

                    Anna :) wrote: You haven't looked at any of my source then. Fair enough... I knew it could be done that way, you understand, it's just that with all the people I have worked with, all the code I have downloaded and all the books I have read ( including both from Stroustrup ), I've never seen it used. I don't think it's particularly wrong, only void main is actually *wrong*, but I see a fair bit of it, and as I say, no int main(void) Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

                    J Offline
                    J Offline
                    jan larsen
                    wrote on last edited by
                    #15

                    Stroustrup had an article in CUJ a couple of months ago on the subject "C and C++ compatibility", he mentions the empty parameter list vs. the void parameter list and one of them is supposed to mean that the function may take a parameter of any type, but I can't remember which... "After all it's just text at the end of the day. - Colin Davies "For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus

                    D C 2 Replies Last reply
                    0
                    • C Christian Graus

                      Anna :) wrote: You haven't looked at any of my source then. Fair enough... I knew it could be done that way, you understand, it's just that with all the people I have worked with, all the code I have downloaded and all the books I have read ( including both from Stroustrup ), I've never seen it used. I don't think it's particularly wrong, only void main is actually *wrong*, but I see a fair bit of it, and as I say, no int main(void) Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

                      A Offline
                      A Offline
                      Anna
                      wrote on last edited by
                      #16

                      Having never read a C++ book until after I learnt the language :eek: it just made sense to me that if you have to specify that a method returns void, it was more consistant to specify it for methods which take no parameters also. :) As it's not mandated either way by the language spec, it really comes down to personal style. It is notable though that if you try to declare a C# method with parameter "void" the compiler barfs at you..which only goes to reinforce one of your earlier sigs. ;) Anna :rose: "Be yourself - not what others think you should be"
                      - Marcia Graesch

                      1 Reply Last reply
                      0
                      • L Lost User

                        Since upgrading to VS.NET I have noticed that any classes I add using the "Add New Class" wizard will use void for functions with no params (such as constructors/destructors). Personally, I haven't bothered doing this sonce my C days, so my question is - are there any benefits to void? What do you prefer for your member functions: void SomeFunc(void); or void SomeFunc();


                        When I am king, you will be first against the wall.

                        M Offline
                        M Offline
                        Marc Clifton
                        wrote on last edited by
                        #17

                        in C#, void SomeFunc(void) is not a legal syntax. A parameterless function must be declared void SomeFunc(). It drives me crazy, especially because I like the first way to explicitly say "this function takes no parameters". Oh well. Marc Help! I'm an AI running around in someone's f*cked up universe simulator.

                        A 1 Reply Last reply
                        0
                        • M Marc Clifton

                          in C#, void SomeFunc(void) is not a legal syntax. A parameterless function must be declared void SomeFunc(). It drives me crazy, especially because I like the first way to explicitly say "this function takes no parameters". Oh well. Marc Help! I'm an AI running around in someone's f*cked up universe simulator.

                          A Offline
                          A Offline
                          Anna
                          wrote on last edited by
                          #18

                          Me too. X| Anna :rose: "Be yourself - not what others think you should be"
                          - Marcia Graesch

                          1 Reply Last reply
                          0
                          • J jan larsen

                            Stroustrup had an article in CUJ a couple of months ago on the subject "C and C++ compatibility", he mentions the empty parameter list vs. the void parameter list and one of them is supposed to mean that the function may take a parameter of any type, but I can't remember which... "After all it's just text at the end of the day. - Colin Davies "For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus

                            D Offline
                            D Offline
                            David Salter
                            wrote on last edited by
                            #19

                            jan larsen wrote: one of them is supposed to mean that the function may take a parameter of any type, but I can't remember which... See my post above. Dave.

                            1 Reply Last reply
                            0
                            • L Lost User

                              Since upgrading to VS.NET I have noticed that any classes I add using the "Add New Class" wizard will use void for functions with no params (such as constructors/destructors). Personally, I haven't bothered doing this sonce my C days, so my question is - are there any benefits to void? What do you prefer for your member functions: void SomeFunc(void); or void SomeFunc();


                              When I am king, you will be first against the wall.

                              T Offline
                              T Offline
                              Tim Smith
                              wrote on last edited by
                              #20

                              From the C++ standard: If the parameterdeclarationclause is empty, the function takes no arguments. The parameter list (void) is equivalent to the empty parameter list. Tim Smith I'm going to patent thought. I have yet to see any prior art.

                              T 1 Reply Last reply
                              0
                              • T Tim Smith

                                From the C++ standard: If the parameterdeclarationclause is empty, the function takes no arguments. The parameter list (void) is equivalent to the empty parameter list. Tim Smith I'm going to patent thought. I have yet to see any prior art.

                                T Offline
                                T Offline
                                Tim Smith
                                wrote on last edited by
                                #21

                                Note: void Func (); Means two different things to C and C++ Tim Smith I'm going to patent thought. I have yet to see any prior art.

                                1 Reply Last reply
                                0
                                • V Vagif Abilov

                                  main function can be declared as returning void or int both in C and C++. If you declare it as int, you let your program return a value (typically an error code) that operating system or calling process can use. Vagif Abilov MCP (Visual C++) Oslo, Norway Hex is for sissies. Real men use binary. And the most hardcore types use only zeros - uppercase zeros and lowercase zeros. Tomasz Sowinski

                                  E Offline
                                  E Offline
                                  Eddie Velasquez
                                  wrote on last edited by
                                  #22

                                  Vagif Abilov wrote: main function can be declared as returning void or int both in C and C++ Returning void is not standard C++. The standard C++ version of main is

                                  int main()
                                  {
                                  }


                                  There are only 10 kind of people in the world: those who understand binary and those who don't.

                                  1 Reply Last reply
                                  0
                                  • L Lost User

                                    Since upgrading to VS.NET I have noticed that any classes I add using the "Add New Class" wizard will use void for functions with no params (such as constructors/destructors). Personally, I haven't bothered doing this sonce my C days, so my question is - are there any benefits to void? What do you prefer for your member functions: void SomeFunc(void); or void SomeFunc();


                                    When I am king, you will be first against the wall.

                                    M Offline
                                    M Offline
                                    Maximilien
                                    wrote on last edited by
                                    #23

                                    I don't care, I decided to use only the following prototype for all of my C functions, and use casting till death!

                                    void someFunc( const void * const * const args )
                                    {

                                    }

                                    and deal with it later ! Max.

                                    A 1 Reply Last reply
                                    0
                                    • L Lost User

                                      Since upgrading to VS.NET I have noticed that any classes I add using the "Add New Class" wizard will use void for functions with no params (such as constructors/destructors). Personally, I haven't bothered doing this sonce my C days, so my question is - are there any benefits to void? What do you prefer for your member functions: void SomeFunc(void); or void SomeFunc();


                                      When I am king, you will be first against the wall.

                                      E Offline
                                      E Offline
                                      Eddie Velasquez
                                      wrote on last edited by
                                      #24

                                      Robert Edward Caldecott wrote: void SomeFunc(void); This isn't C++ style it's C style


                                      There are only 10 kind of people in the world: those who understand binary and those who don't.

                                      1 Reply Last reply
                                      0
                                      • M Maximilien

                                        I don't care, I decided to use only the following prototype for all of my C functions, and use casting till death!

                                        void someFunc( const void * const * const args )
                                        {

                                        }

                                        and deal with it later ! Max.

                                        A Offline
                                        A Offline
                                        Alvaro Mendez
                                        wrote on last edited by
                                        #25

                                        :-) Well good for you! But shouldn't you be returning void*? Regards, Alvaro


                                        Well done is better than well said. -- Benjamin Franklin

                                        1 Reply Last reply
                                        0
                                        • J jan larsen

                                          Stroustrup had an article in CUJ a couple of months ago on the subject "C and C++ compatibility", he mentions the empty parameter list vs. the void parameter list and one of them is supposed to mean that the function may take a parameter of any type, but I can't remember which... "After all it's just text at the end of the day. - Colin Davies "For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus

                                          C Offline
                                          C Offline
                                          Christian Graus
                                          wrote on last edited by
                                          #26

                                          I have that issue, I may pull it out. Christian No offense, but I don't really want to encourage the creation of another VB developer. - Larry Antram 22 Oct 2002 Hey, at least Logo had, at it's inception, a mechanical turtle. VB has always lacked even that... - Shog9 04-09-2002 During last 10 years, with invention of VB and similar programming environments, every ill-educated moron became able to develop software. - Alex E. - 12-Sept-2002

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups