943,516 Members | Top Members by Rank

Ad:
  • C++ Discussion Thread
  • Unsolved
  • Views: 5565
  • C++ RSS
Sep 2nd, 2004
1

Why NOT void main()

Expand Post »
I don't get why C++ pros see red when they see void main(). Can someone explain why intmain() is good and void main() bad?
Similar Threads
Reputation Points: 12
Solved Threads: 0
Newbie Poster
iamboredguy is offline Offline
23 posts
since Aug 2004
Sep 2nd, 2004
0

Re: Why NOT void main()

Not declaring a function's return value is an error in C++, whether the function is main or not. In C99, the October 1999 revision to Standard C, not declaring a function's return value is also an error (in the previous version of Standard C an implicit int was assumed as the return value if a function was declared/defined without a return value). But the usual requirement of both Standard C++ and Standard C is that main should be declared to return an int. In other words, this is an acceptable form of main:
C++ Syntax (Toggle Plain Text)
  1. int main(void) { /* ... */ }

The problem is that this code declares main to return a void and that's just no good for a strictly conforming program. Neither is this:

implicit int not allowed in C++ or C99
C++ Syntax (Toggle Plain Text)
  1. main() { /* ...Whatever... */ }


Hope this helps,
- Stack Overflow
Reputation Points: 26
Solved Threads: 4
Junior Poster
Stack Overflow is offline Offline
185 posts
since Sep 2004
Sep 2nd, 2004
1

Re: Why NOT void main()

Operating systems such as UNIX require applications to return an integer value.
0 usually meaning success and non-zero meaning an error.
Reputation Points: 13
Solved Threads: 0
Newbie Poster
hivework is offline Offline
18 posts
since Mar 2004
Sep 2nd, 2004
0

Re: Why NOT void main()

Quote originally posted by iamboredguy ...
I don't get why C++ pros see red when they see void main(). Can someone explain why intmain() is good and void main() bad?
In this reply, I posted 6 links to explanations of why it is considered wrong.
Team Colleague
Reputation Points: 2780
Solved Threads: 312
long time no c
Dave Sinkula is offline Offline
4,790 posts
since Apr 2004
Sep 5th, 2004
0

Re: Why NOT void main()

the first, you mustn't have any return statement in your main() function as if you use void main() declare. If you use int main() function, you must return a int value, otherwise your complier will prompt a warning.
Reputation Points: 15
Solved Threads: 0
Newbie Poster
XianBin is offline Offline
24 posts
since Aug 2004
Sep 6th, 2004
0

Re: Why NOT void main()

In You Program You can Have Program like this

pro 1
void main()
{
/* */

}

pro 2

int main()
{

/* */

return 0;
}

in pro1 its showing you void main it's mean's RETURN NOTHING just a main Function with your code!! but in pro2 its haveing int main() function it's mean's that function return a value!! so if you put in void main function to return a value u will get an Error so best way is you have to use void main function in your program!!

example

#include <stdio.h>
#include <conio.h>


int call(int x,int y);

void main()
{
int num1,num2,ans;

clrscr();
printf("Enter the First number : ");
scanf("%d",&num1);
printf("\nEnter the Secound Number : ");
scanf("%d",&num2);

/*call the cal function using ans */

ans=call(num1,num2);

printf("The Add of num1 and num2 is %d",ans);

getch();
}

int call(int x,int y)
{
int z;

z=(x+y);

return (z); /* cal function go back to main function*/

}
Reputation Points: 10
Solved Threads: 1
Newbie Poster
sureshsigera is offline Offline
4 posts
since Sep 2004
Sep 6th, 2004
0

Re: Why NOT void main()

People please! Is this a hosted implementation? Do you excect printf to do anything? Then void main is incorrect. Period.
Team Colleague
Reputation Points: 2780
Solved Threads: 312
long time no c
Dave Sinkula is offline Offline
4,790 posts
since Apr 2004
Mar 29th, 2007
-1

Re: Why NOT void main()

Why is it necessary to have void main() in Java? Any takers?
Reputation Points: 9
Solved Threads: 0
Newbie Poster
madhav_2k is offline Offline
5 posts
since Apr 2006
Mar 30th, 2007
2

Re: Why NOT void main()

>Why is it necessary to have void main() in Java?
I'd say it's because Java applications run in a virtual environment, curtosey of the Java VM. So when a program finishes, it doesn't return to the operating system, it in fact returns to the VM. Therefore rules such as int main do not apply.
Team Colleague
Reputation Points: 2240
Solved Threads: 338
Vampirical Lurker
John A is offline Offline
5,055 posts
since Apr 2006
Sep 14th, 2010
-1
Re: Why NOT void main()
void main()

{

unsigned int i=65537;

float j=2.25;

printf("%d",i*j);

getch();

}
Reputation Points: 4
Solved Threads: 0
Newbie Poster
sujitkumarsingh is offline Offline
1 posts
since Sep 2010

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C++ Forum Timeline: Sorting doubly linked links alphabetically HELP
Next Thread in C++ Forum Timeline: Help with Psuedocode





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC