jingt Skrevet 26. august 2005 Del Skrevet 26. august 2005 Hva er forskjellen på main(), void main(), int main()? i hvilken sammenheng brukes de? takk Lenke til kommentar
alfern Skrevet 26. august 2005 Del 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. Lenke til kommentar
☀ ❄ Skrevet 26. august 2005 Del 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(). Lenke til kommentar
jingt Skrevet 26. august 2005 Forfatter Del 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 Lenke til kommentar
Manfred Skrevet 27. august 2005 Del 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. Lenke til kommentar
Duronator Skrevet 28. august 2005 Del Skrevet 28. august 2005 void main er fullt lovlig, bare ikke så kjekt hvis man skal sjekke returverdier ved debugging. Lenke til kommentar
☀ ❄ Skrevet 28. august 2005 Del 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. Lenke til kommentar
Manfred Skrevet 29. august 2005 Del 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. Lenke til kommentar
torspe Skrevet 1. september 2005 Del 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 Lenke til kommentar
JBlack Skrevet 2. september 2005 Del 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å? Lenke til kommentar
Dead_Rabbit Skrevet 4. september 2005 Del 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.. Lenke til kommentar
JBlack Skrevet 7. september 2005 Del 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. Lenke til kommentar
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å