Kummastuttaa kun käytin returnia muutamassaa funktiossani ja alkoi kääntäjä valittaa. Mitäkähän eroa on int ja void funktioilla?
Jos on int funktio(jotain) niin se palauttaa int tyyppisen arvon, jos taas void funktio(jotain) niin se ei palauta mitään.
mutta eikö char-arvoa voi palauttaa?
void -tyypin aliohjelma ei voi palauttaa mitään. Sen sisässä palautuskäskyn on oltava tyhjä return;
Kaikki muut aliohjelmat palauttavat jonkin arvon (esim. return 2;)
Joojoo. Mutta eikö voi palauttaa esim. string-muuttujaa tai char muuttujaa??
Testaamallahan se selviää.
jassoo
Jos et laita funktion eteen void-sanaa, sen pitää palauttaa jokin arvo. Arvo voikin sitten olla mikä tahansa määritelty tyyppi.
Siis voiko olla: void int Ja se ei palauta mitään ja int niin se palauttaa. Ja entä void char. Palauttaako se?
jos haluat palauttaa jotain charria niin pistä: char funktio(parametrit) { pälä }
Jos kokonaislukuja niin: int funktio(parametrit) { pälä }
Jos desimaalilukuja niin: float funktio(parametrit) { pälä }
Jos et mitään niin: void funktio(parametrit) { pöö }
Näin olen asian käsittänyt
Ahaa! Nyt alkoi lyyti kirjoittaa! Tämän takia kaikki ohjelmani bugaavat niin sairaasti käännettäessä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.