jingt Skrevet 26. august 2005 Rapporter Del Skrevet 26. august 2005 Hva er forskjellen på main(), void main(), int main()? i hvilken sammenheng brukes de? takk Siter Lenke til kommentar
alfern Skrevet 26. august 2005 Rapporter 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. Siter Lenke til kommentar
☀ ❄ Skrevet 26. august 2005 Rapporter 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(). Siter Lenke til kommentar
jingt Skrevet 26. august 2005 Forfatter Rapporter 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 Siter Lenke til kommentar
Manfred Skrevet 27. august 2005 Rapporter 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. Siter Lenke til kommentar
Duronator Skrevet 28. august 2005 Rapporter Del Skrevet 28. august 2005 void main er fullt lovlig, bare ikke så kjekt hvis man skal sjekke returverdier ved debugging. Siter Lenke til kommentar
☀ ❄ Skrevet 28. august 2005 Rapporter 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. Siter Lenke til kommentar
Manfred Skrevet 29. august 2005 Rapporter 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. Siter Lenke til kommentar
torspe Skrevet 1. september 2005 Rapporter 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 Siter Lenke til kommentar
jingt Skrevet 1. september 2005 Forfatter Rapporter Del Skrevet 1. september 2005 Takk! Siter Lenke til kommentar
JBlack Skrevet 2. september 2005 Rapporter 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å? Siter Lenke til kommentar
Dead_Rabbit Skrevet 4. september 2005 Rapporter 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.. Siter Lenke til kommentar
JBlack Skrevet 7. september 2005 Rapporter 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. Siter Lenke til kommentar
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.