Gå til innhold

Funksjoners returnerings type


Anbefalte innlegg

Videoannonse
Annonse

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

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 av GeirGrusom
Lenke til kommentar

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 av wildex999
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...