Void?

Tags:    c++

Hejsa..

Kan nogen forklare helt nøjagtigt hvad void funtktionen er/gør, og om der findes en funktion der kan bruges istedet for?

Hvis i har et link, med en beskrivelse af alle c++ funktioner må i meget gerne smide det her. Jo mere detaljeret jo bedre.

/edit
Så lige lidt længere nede at en bruger har en default error message efter hans switch. Hvad er grunden til dette? Vil tro det er en form for sikkerhed, men programmet ser ud til at virke uden denne default error message?
/edit

Fold kodeboks ind/udKode 



På forhånd tak.



Indlæg senest redigeret d. 25.06.2006 11:17 af Bruger #10174
5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Void er ikke en funktion, men noget der kan høre med til en funktion. Funktioner kan både returnere noget og ikke - sidste tilfælde er så void.
Fold kodeboks ind/udKode 

Void kan også bruges i andre sammenhæng, bl.a. som en void-pointer.

En default i en switch er sidste mulighed hvis intet af det andet bliver valgt.
Det kan svare til en If.. else if.. else.

http://www.cppreference.com/ kan du se de forskellige funktioner til de mest normale biblioteker, iostream, stl, string etc.



Indlæg senest redigeret d. 25.06.2006 12:28 af Bruger #8422

/edit
Så lige lidt længere nede at en bruger har en default error message efter hans switch. Hvad er grunden til dette? Vil tro det er en form for sikkerhed, men programmet ser ud til at virke uden denne default error message?
/edit

Fold kodeboks ind/udKode 



På forhånd tak.


Du bruger typisk en default i din switch for at sikre at du også rammer udefinerede værdier. Herved bliver det mere gennemskueligt hvad der sker og du har bedre mulighed for at styre både forventede og ikke forventede værdier.

I det tilfælde du nævner vil switch'en fx dække fejl a, fejl b, fejl c og alle andre fejl, hvor fejl a - c er defineret eksplicit som cases og derfor er de forventede værdier. Alle andre fejl rammer ind under "default" og er derfor de uforventede fejl. Dette gør at ALLE fejl bliver adresseret og håndteret i switch'en.

Grunden til at det virker eller kan virke uden "default", det skyldes at den er optionel i switch konstruktionen.

Hth



Indlæg senest redigeret d. 17.02.2007 15:39 af Bruger #10448
Jeg ved ikke 100 % hvad du mener, men hvis du snakker om at man kan angive en retur type som void på sine metoder/funktioner i C++, så er det fordi C++ ikke skelner mellem funktioner og procedurer som nogle andre sprog gør.
En void type er ingenting ... void er tom, så en funktion som returnerer void, returnerer altså ikke noget, og du får intet ud af at samle resultatet op.

Med andre ord, hvis du har en funktion som ikke skal returnere noget, så lader du den være af typen void.

Håber det var lidt det du snakkede om :)



En funktion vis return type er void, returnere ikke noget. Så enkelt er det.
Passer dit indput ikke til dine cases så bliver default blokken udført.



void pointeren bliver somregel (ihvertfald af mig) brugt til at returnere ukendte typer som jeg senere "caster" til hvad jeg nu skal bruge.



t