Hayer Skrevet 28. oktober 2008 Del Skrevet 28. oktober 2008 Hei! Har en funksjon som kan returnere en int eller en string. Dette finner funksjonen ut ved å sjekke noen flagg som er suttet. Så spørsålet er egentlig: Hvordan kan jeg lage en funksjon som kan returnere en string eller en int? Lenke til kommentar
sygard Skrevet 28. oktober 2008 Del Skrevet 28. oktober 2008 Så vidt jeg vet kan man ikke returnere en <variabel> variabel i c (antar at det er c du snakker om). Jeg ville nok ha sendt med en peker til begge variablene, string og int til funksjonen, deretter satt den du ville ha, også sjekket der du kalte funksjonen om hvem som er satt etter at funksjonen er ferdig å kjøre. funksjon(&tall, *string); if(tall != NULL) // tallet ble satt - evt. sette tall til -1 hvis det ikke blir brukt. else//string er satt... evt. returnere en string (char array) som kan konverteres til en int hvis dette er tilfelle. Lenke til kommentar
Hayer Skrevet 28. oktober 2008 Forfatter Del Skrevet 28. oktober 2008 Glemte å si at det var C++, men takk for forslaget Lenke til kommentar
GeirGrusom Skrevet 29. oktober 2008 Del Skrevet 29. oktober 2008 (endret) Returner en struktur som inneholder en int og en void* Int forteller hva slags datatype som returneres, dersom den forteller at det er et integer, så castes void* til int. Men jeg må si dette er litt poengløst, men det er ikke min sak hehe edit: jeg synes sygard sin er fin ut også jeg, bedre en min løsning. Endret 29. oktober 2008 av GeirGrusom Lenke til kommentar
Hayer Skrevet 29. oktober 2008 Forfatter Del Skrevet 29. oktober 2008 Metoden jeg bruker allerede returnerer en struktur, lurte på om det var mulig å gjøre det på en annen måte Men men Lenke til kommentar
WhiteFire Skrevet 29. oktober 2008 Del Skrevet 29. oktober 2008 En tullete måte er å bruke typen "object" og kjøre en tryparse etterpå. Hva er det som avgjør hvilken verdi som skal returneres? Lenke til kommentar
Giddion Skrevet 29. oktober 2008 Del Skrevet 29. oktober 2008 Hva med en struct som inneholder en IsInt variabel og un string-int union. Hvis du ikke vil ha stuct så kan du jo sende noen pekere til variabler med funksjonen. Lenke til kommentar
wildex999 Skrevet 29. oktober 2008 Del Skrevet 29. oktober 2008 (endret) Er vel her man bruker Templates er det ikke? Dette funker bare hvis du allerede vet om det er string eller int før du kaller funksjonen, men som jeg har skjønt det så gjør du det. template<class rettype=int> //Default er Int rettype MinFunksjon(...) {rettype returnverdi; return returnverdi;} //Der du kaller funksjonen if(flag==0) //Int int verdi=MinFunksjon<int>(...); else //String string verdi=MinFunksjon<string>(...); N.B: Har ikke testet denne koden, bare et eksempel! Endret 29. oktober 2008 av wildex999 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å