Feil C ++ Feil krever en type spesifikasjon for alle erklæringer

Feil C ++ Feil krever en type spesifikasjon for alle erklæringer
I denne artikkelen vil vi diskutere en feil som ofte oppstår mens vi koder på C ++ språk og andre språk også. Mens programmering på C ++ språk, oppstår en feil på programmerere noen ganger, noe som er C ++ krever en type spesifikasjon for alle erklæringer. Denne feilen oppstår vanligvis fordi vi noen ganger glemmer å skrive returtypen på metoden eller funksjonen vår. Mens vi skriver koden vår, må vi huske en ting: vi må spesifisere returtypen på koden vår om den vil returnere en røye, int osv.

En annen grunn til at denne feilen oppstår er at noen ganger glemmer programmereren å spesifisere datatypen på variabler, og noen ganger vet han ikke bare at å spesifisere en datatype er obligatorisk. Årsaken til at vi må spesifisere datatypen på variabler og hvorfor vi må spesifisere returtypen på koden vår er fordi C ++ er et statisk skrevet språk. C ++ er et statisk typisk språk er at disse typer språk trenger alt for å bli spesifisert manuelt av programmereren. Så vi må fortelle kompilatoren hvilken datatype vår variabel vil være av, og dette er i tilfelle av erklæringsfunksjoner også. Disse språkene krever også deklarerte og definerte funksjoner over hovedanropsfunksjonen av koderen.

Syntaks

Det er ingen spesifikk syntaks for denne feilen. Følgende melding er hva kompilatoren vår kommer tilbake hvis vi får den ovennevnte feilen:

$ ISO C ++ forbyr erklæring om 'hoved' uten type [-wreturn-type]

Merk: Feilmeldingen vil ikke alltid være den samme, men det vil forklare det samme med å spesifisere en datatype eller returtype.

Eksempel # 01:

Nå vil vi se hvilken praksis man gjør som fører til vår feil. Vi vil også prøve å løse feilen og forklare årsaken i koden vår hvorfor denne feilen oppsto. For å gjøre det, har vi erklært en strengvariabel “PWord”, og vi har bedt brukeren om å legge inn verdien som vil bli tilordnet den. Etter det anvendte vi en betingelse om at hvis verdien av inngangsparameteren samsvarer med "testpord", vil systemet skrive ut "riktig" og avslutte vellykket. Hvis strengene ikke stemmer overens, vil systemet skrive ut "galt" og vil utføre koden med hell i dette tilfellet også. Nå skal vi utføre koden vår og vil observere hva som skjer.

#inkludere
ved hjelp av navneområdet STD;
hoved()

streng pord;
cin >> pword;
if (pword == "testpword")

cout<< "Correct!" < annet

cout<< "Wrong!" <
retur 0;

Koden vår har ikke utført vellykket og har returnert en feil. Denne feilen sier at C ++ språk ikke tillater erklæringen om hovedfunksjonen uten en datatype. Det har også påpekt linjen der kompilatoren kastet en feil. Så feilen vår krever at vi trenger å spesifisere datatypen på hovedmetoden vår.

Etter feilen vil vi skrive "int" før hovedmetoden for å gi systemet beskjed om at hovedfunksjonen har en heltalldatatype og returtype. Nå vil vi utføre koden vår.

Etter endringene ovenfor, utførte vi koden vår. Systemet har bedt brukeren om å sette inn en strengtype -parameter. Strengen sammenlignes med verdien vi hardt kodet i vår IF -tilstand. Vi ga "123456789" som vår inngangsparameter og verdien som skal sammenlignes med var "Testpword". I vårt tilfelle samsvarer ikke verdiene slik at systemet har skrevet ut "feil". Så ved bare å spesifisere datatypen og returtypen av vår funksjon har vi løst feilen.

Eksempel # 02:

I forrige eksempel fikk vi feilen fordi vi ikke erklærte datatypen for hovedfunksjonen vår. La oss utføre dette eksemplet og se om vi får noen feil, og hvis vi gjør det, vil vi prøve å finne ut problemet bak det og eliminere det. En variabel med navnet “X” er blitt erklært med verdien “10.”Vi har også tildelt en annen variabel“ Y ”og passert den“ 20 ”.”Z” er variabelen som vil lagre resultatet av operasjonen mellom de to variablene. Etter operasjonen vil vi skrive ut “Z” for å sjekke resultatet.

#inkludere
ved hjelp av navneområdet STD;
int main ()

x = 10;
y = 20;
z = x+ y; cout<

Dette er feilen vi får etter utførelsen av koden vår. Den har tre feil. Alle tre er de samme: Feil: 'X' ble ikke erklært i dette omfanget. Og den samme feilen er også for andre variabler. Denne feilen har oppstått fordi vi ikke har spesifisert datatypene til variablene våre. Som diskutert tidligere, er dette den samme feilen, men meldingen er annerledes.

Nå vil vi korrigere koden vår og for å gjøre det har vi ganske enkelt tildelt datatyper "int" til alle tre variablene. Nå vil systemet forstå at alle tre er heltall og vil utføre utførelsen deretter.

Programmet vårt har utført og returnert 30 som utdata. I vår kode er operasjonen vi utførte mellom "X" og "Y" -parametrene summen eller legg til operasjon. Vi passerte verdier 10 til “X” og 20 til “Y”. Så variabelen Z har lagret summen av disse to verdiene som er 30 og skrevet den ut som utgang. Så ved å bare tildele datatyper til våre parametere, har vi ganske enkelt løst feilen i koden vår.

Konklusjon

I denne guiden diskuterte vi en feil som er C ++ krevde en type spesifikasjon for alle erklæringer. Vi forklarte hva denne feilen er og hvorfor denne feilen oppstår mens vi skriver koden vår. Vi utførte også forskjellige eksempler for å få feilen, og etter å ha fått feilmeldingene løste vi disse feilene og fortalte deg måtene å løse dem. Vi diskuterte også forskjellige scenarier for feilen og forklarte at feilen om feilen kan være litt annerledes, men årsaken til feilen forblir den samme i alle tilfeller.