jingt Skrevet 26. august 2005 Skrevet 26. august 2005 Hva er forskjellen på main(), void main(), int main()? i hvilken sammenheng brukes de? takk
alfern Skrevet 26. august 2005 Skrevet 26. august 2005 Kan hende jeg tar feil, men jeg tror at man bruker void om man ikke ønsker noe output fra en funksjon, mens man bruker int om man ønsker å få output som integer.
☀ ❄ Skrevet 26. august 2005 Skrevet 26. august 2005 I C++ og nyere standarder av C (tror jeg -- jeg er ingen C-utvikler, så rett meg hvis det er galt) er alt annet enn int main() (med evt. argumenter) galt. Som alfern skriver, void returtype betyr at ingenting returneres, mens int betyr at funksjonen returnerer et heltall. I C betyr main() det samme som int main().
jingt Skrevet 26. august 2005 Forfatter Skrevet 26. august 2005 Takker for svar For har nemlig sett programmer som begynner med de tre og lurte på om hva slags funksjon de hadde, siden det bare var lov til å ha en main i et program
Manfred Skrevet 27. august 2005 Skrevet 27. august 2005 i "gamle dager" (Borland 4.5 og slikt) brukte man void main(). Da void main() var den eneste void-funksjon som faktisk returnerte en int Iflg. standarden skal det være int main(). du må definere return-typen på en funksjon, så kun main() vil ikke fungere uansett.
Duronator Skrevet 28. august 2005 Skrevet 28. august 2005 void main er fullt lovlig, bare ikke så kjekt hvis man skal sjekke returverdier ved debugging.
☀ ❄ Skrevet 28. august 2005 Skrevet 28. august 2005 lstor@mputt:~$ gcc -o voidmain voidmain.c -std=c99voidmain.c: In function `main': voidmain.c:1: warning: return type of `main' is not `int' lstor@mputt:~$ g++ -o voidmain voidmain.c voidmain.c:1: error: `main' must return `int' I C99 ser det altså ut til å være gyldig, men ikke spesielt godt mottatt. I C++ er og blir det strengt forbudt.
Manfred Skrevet 29. august 2005 Skrevet 29. august 2005 void main er fullt lovlig, bare ikke så kjekt hvis man skal sjekke returverdier ved debugging. Det er en uting å bruke void main(). Veldig mange kompilatorer vil heller ikke godta det.
torspe Skrevet 1. september 2005 Skrevet 1. september 2005 Det skal brukes int main(int argc, char *argv[]) retur verdien fra main brukes av dos i batch filer. 0=OK, alt annet betyr at programet feilet. Torstein
JBlack Skrevet 2. september 2005 Skrevet 2. september 2005 Det skal brukes int main(int argc, char *argv[]) La meg ta et 'oppfølgingsspørsmål'. Det er også mulig å bruke: int main(int argc, char *argv[], char *env[]) Der env blir en liste med environment variabler. I hvertfall på unix/linux. Er dette en del av standarden også?
Dead_Rabbit Skrevet 4. september 2005 Skrevet 4. september 2005 Hmm. Det var nytt (for meg ihvertfall ) #include <iostream> using namespace std; int main(int argc, char* argv[], char* argv[]) { return 0; } men, når jeg kompilerer med GCC og bruker ansi paramteret: g++ -ansi test.cpp -o test Så kompilerer koden. Kompilerte riktignok på Linux men..
JBlack Skrevet 7. september 2005 Skrevet 7. september 2005 Jeg har benyttet meg av dette på Solaris også, i et cgi-script som bl.a dumper environment variablene til html. Hvor jeg kom over dette i utgangspunktet husker jeg ikke lenger.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå