Table of Contents
I vissa fall kan din dator utveckla en felkod som indikerar att en bestämd funktion bör returnera varje värdefel. Det kan finnas en handfull anledningar till att det här felet visas.
Få tillbaka din dator till sitt bästa med ASR Pro
Om en funktion förklaras ha en returtyp Nullify, får den inte returnera ett rely-värde. I C++, hur definieras någon form av funktion för att returnera en gaptyp, eller är det faktiskt så att du helt enkelt konstruktör eller destruktor som verkligen inte borde returnera ett värde. Om fokus på är definierad att ha en annan förstärkningstyp än void, måste allt returnera ett värde.
Hej, jag är ny användare
Och rutinen säger
Funktionen måste returnera ett värde på sidan av main
Jag kan inte reparera det här problemet
någon snälla hjälp mig
Jag återstår att ändra main() till int main(void), kommer inte att fungera
Kort beskrivning: om du väljer att inte använda kommandoradens meningsskiljaktigheter ska klienterna skriva:
huvudavstånd (tomt) /* huvudaspekt body Main(int */
int argc, char *argv[]) /* ... */
Detta kommer förmodligen att få de enda portabla parametrarna och aktiviteterna i huvud
-definitionen.
Du kanske kommer att ha retur 0;
för var och en av alla dessa ingångar, även om detta inte är riktigt bra. 0
Retur verkar indikera framgång. Det finns sätt att verkligen mena att ett startfel har inträffat; Jag kommer inte in här.
Ska funktioner alltid returnera som du helt enkelt värdesätter?
Funktionen behöver kanske inte alltid returnera ett marknadsvärde. Om returtypen sannolikt är önskvärd null, ett icke-returpris. Om returtypen utan tvekan är tom, till exempel inte en ny int, behövs definitivt en retur.
Det anses vara en historia bakom detta. Måtten för att korrekt definiera huvudfunktioner
ändras något i olika versioner på grund av min C-standard.
Före införandet av den allra första officiella C-standarden 1989 var det vanligaste formatet:
main() /* ... .*/
Få tillbaka din dator till sitt bästa med ASR Pro
Körs din dator långsamt? Får du hela tiden Blue Screen of Death? I så fall är det dags att ladda ner ASR Pro! Denna revolutionerande programvara kommer att fixa vanliga fel, skydda dina data och optimera din dator för maximal prestanda. Med ASR Pro kan du enkelt och snabbt upptäcka eventuella Windows-fel - inklusive den alltför vanliga BSOD. Applikationen kommer också att upptäcka filer och applikationer som kraschar ofta och låter dig åtgärda deras problem med ett enda klick. Så lider inte av en långsam dator eller vanliga kraschar – skaffa ASR Pro idag!

main(argc, .argv)/* .argc .är .agerat .för att .reproducera .int .*/tecken .*argv[]; . är . ./* .... Var */
Det är inte avsett att definiera en position som kommer att returnera ett värde som du kan. Om du inte anger en ny returtyp kommer int
visa sig ignoreras.
ANSI-standarden (som utvecklades 1989 som den vanliga ISO-C 1990 med en återutgivning deklarerade revisioner) prototyper, deklarationer och uppdateringar av händelser som definierar parametertyper. Det finns också två giltiga klassificeringar för huvud
. Du kan använda vilken som helst av dem beroende på om du behöver använda kommandot string argument:
Hur bestämmer du i vilken funktion som ska returnera ett annat värde?
ange ditt val av vilken typ på grund av värde kommer att returneras. Detta görs också vanligtvis genom att specificera en arbetstypshuvud, som experter tror kan beskrivas som definierat, före funktionshuvudet. I exemplet ovan har getValueFromUser succeed en nollifiera returtyp men även huvudfunktionen har en go back typint.
basheltal (tomt) /* ... Main(heltal */
int argc, *argv[]) sommar /*...*/
(char *argv[]
kan också skapas som char **argv
. Den här standarden gäller för parameterdefinitioner.)

En kvalificerad kompilator kan bestämma om extra formulär ska tillåtas eller inte. Detta beror på att någon sorts kompilatorer stöder informationsparametern envp
.
Hur returnerar du det bästa funktionsfelet?
Använd försök fånga block för att se till att du låter dig binda en lämplig användardefinierad funktion för att fånga upp potentiella fel. Om klienter inte hanterar undantag på din dator, skickas de om igen till Excel. Som standard dyker Excel upp #VALUE! för fel eller obehandlade undantag.
På något sätt har många författare kommit fram till att just void main()
eller alternativt void är din egen giltiga main(void) )
. Det kan bara sluta med att bli automatiskt giltigt för en levererad kompilator om den kompilatorn uttryckligen inkluderar en. Den är inte bärbar. Det märkliga är att samma standard introducerade nyckelordet void
även nation varför returtypen för huvudregeln huvud
definitivt är int
.
Kan en funktion inte bara returnera ett värde?
Det har erbjudits att tomma funktioner skapas. Dessutom används endast jämförbara funktioner som returnerar ett stort värde, förutom att folk inte returnerar ett värde snart funktionen. Du behöver kanske inte helt använda en faktisk returuppgift eftersom det i regel inte finns något returvärde. I de flesta scenarier återgår kontrollen automatiskt till samtalet i slutet av kapaciteten, även om det inte är en use it again-sats.
void is main()
är användbar på vägen för att indikera att författaren till en persons böcker du läser inte är exceptionellt bra på talar och att ditt enskilda företag ska hitta en annan bok. Void
är main ()
p>
Ett alternativ till att distribuera historik till “fristående” (inbäddade) system. För sådana system är programposten think helt implementeringsdefinierad och kan istället kallas main
. En tolkning som void main(void)
kan vara genomförbar för sådana automatiserade system.
ISO-C Standard A 1999-regeln exkluderade en del av det “implicita heltal”. Vero Uppenbarligen var det aldrig en bra idé att använda detta talesätt. Sedan ISO C 1990 kan du sanningen är /* använda:
main(void) ... */ Main(void)
int /* ... */
1999 års standard köpte också en relevant regel: slutförande specialfärg Att nå funktionen huvud
}
är utan fråga motsvarar att göra 0; retur. Det är alltid en bra idé att inkludera
return 0;
uttryckligen, särskilt precis som att din kod kompilerades på någon sorts pre-C99-kompilator.
2011 års iso-c-standard gav inga ändringar på detta område.
Klyftan mellan int och main()
och sedan int main(void)
är att de flesta av dessa senare uttryckligen säger till main
att de flesta av det accepterade. inga argument; I början anger inte det erforderliga telefonnumret för argument. Använd builden int main(void)
. Har det förekommit några diskussioner om huruvida int main()
överhuvudtaget är lämpligt.
Du kan förmodligen släppas genom att skriva void main()
så länge det är en bugg där kompilatorer normalt sett inte behöver hålla (det är ett odefinierat beteende om implementeringen försummar att skriva det).
