C ++ Feil forventet identifikator før numerisk konstant

C ++ Feil forventet identifikator før numerisk konstant
I dag vil vi diskutere kompileringstidsfeilen som for det meste oppstår mens vi skriver kode, og vi vil løse den feilen. Compile Time Feil er også kjent som en syntaksfeil. Vi lager et program, og det oppstår stort sett når du gikk glipp av seler, semikoloner osv. Mens koding som er utsatt for feil ikke er en stor sak for den erfarne programmereren, kan nybegynneren synes det er en vanskelig oppgave å løse disse feilene. Noen ganger tar det en hel uke å løse dem eller å forstå årsaken til feilen.

Feilen som vi vil diskutere i denne opplæringen er “Feil: forventet identifikator før numerisk konstant”. Denne feilen oppstår for det meste når vi prøver å initialisere eller erklære datamedlemmene utenfor metoden uten å bruke seler. Før C ++ 11 ble introdusert, kunne en koder først erklære dem, og deretter vil vi initialisere verdien for dem. Eller vi kan si at utenfor klassen kan vi ikke initialisere verdiene ved hjelp av konstruktøren.

La oss sjekke syntaksen. Vi vil utføre et eksempel for å lære å fjerne disse feilene og måten å sjekke grunnen.

Syntaks:

Det er ingen slik spesifisert syntaks for denne feilen fordi det ikke er kommandoen for å utføre noen handlinger eller funksjonssamtalen. Denne feilen ser ut som følger:

Feil: forventet identifikator før numerisk konstant

I feilen over indikerer identifikator de unike navnene på variablene. Den numeriske konstanten er samlingen av tall, ledende tegn eller desimalpunkter. For eksempel 3.0, 3, -2. De ugyldige numeriske konstantene er 2-, 1B, 3…, 4. Etc.

Eksempel # 01:

La oss utføre et eksempel for å sjekke hvordan feilen oppstår og måten å løse disse feilene. Før vi flytter til hovedkoden vår, vil vi inkludere overskriftsfilene våre som er "Vector", "String", "Sstream", "Fstream", "Isotream" og "CMATH". Vektoroverskriftsfilen er den samme som de dynamiske matriser, de kan endre størrelse på seg mens de nye dataene er lagt inn i matrisen. Når vi skal jobbe med matriser av den dynamiske typen, så velger vi vektorarrays, som gir forskjellige funksjoner for å jobbe med matriser. Den andrestrengs overskriftsfilen vi inkluderte er fordi vi skal jobbe med en rekke tegn. Og for å jobbe med det, er det nødvendig å inkludere strengoverskriftsfilen. Etter det inkluderte vi “fstream”, “Sstream” og “Isostream”. FStream brukes til å gjøre det mulig for koderen å jobbe med filsystemet. Sstream er inkludert for å jobbe med StringStream som brukes til å knytte objektet til strømmen slik at den kan lese strengen hvis den blir streamet inn, hvor iostream brukes til å utføre I/O -operasjonene.

Til slutt er "cmatch" -overskriftsfilen inkludert som brukes til å gjøre det mulig. Deretter ved å bruke navneområdet STD, tillot vi koderen å definere variabelen som er gitt av STD -bibliotekene. Etter å ha inkludert alle essensielle overskriftsfiler, opprettet vi en vektorstreng ved å bruke syntaks “Vector Name ()”. Dette er den spesifiserte syntaksen for å lage en vektorstreng. I vårt tilfelle opprettet vi en vektorstrengvariabel med navn “var1” som vi passerte to parametere til: den første er nummeret på strengen, og den andre er nullverdien som betyr at vi ikke vil lagre noe i den riktig nå.

I neste trinn erklærte vi en annen strengtypevektor-matrise som heter "var2" som vi passerte to argumenter til: den første er nummeret på strengene, og den andre er "var1". Etter det erklærte vi en klasse som heter “My_Class” inne som vi erklærte en annen vektorstreng som heter “var_name” som vi passerte antall strenger “5”. Etter det har vi erklært en annen vektorutvalg av type heltall vi har erklært som vi kalt "val", i "val" -arrayen passerte vi to parametere antall strenger "5" og verdien 0 tilordnet den.

Deretter har vi erklært en funksjon som er offentlig for hele koden som vil utføre meldingen “Feil løst”. Nå, i vår hovedfunksjon, erklærte vi et variabelt navn “OBJ” av type “My_class” for å kalle “MyClass” -variablene og funksjonene. På slutten vil vi returnere nullverdien og bruke F7 -kommandoen vi vil utføre koden.

#inkludere
#inkludere
#inkludere
#inkludere
# inkluderer
#inkludere
ved hjelp av navneområdet STD;
vektor var1 (6, "null");
vektor< vector > var2 (20, var1);
Klasse My_Class

vektor var_name (5);
vektor Val (5,0);
offentlig:
klassen min()
cout << "error resolved" <
;
int main ()

my_class obj;
retur 0;

Nå vil vi sjekke utdataene fra koden som vises under feilen. To linjer er vist, online “15” og “16”. Denne feilen viser “Feil: forventet identifikator før numerisk konstant”. Dette betyr at vi initialiserer variabelen ut av omfanget og noe mangler om seler, komma eller annet. For å løse denne feilen, vil vi lese begge linjene og sjekke ut grunnen til denne feilen og vil løse den.

For å løse denne feilen, erstattet vi nettopp denne koden for vektorstrengdeklarasjon med den vi har erklært i ovennevnte kode. Den riktige metoden for å initialisere vektorvariabelen er den som vises nedenfor: Ved å bruke tildelingsoperatøren tildeler vi verdiene til vektorvariabelen, eller ved å passere den via krøllete seler.

Etter å ha løst feilen, utførte vi koden vår igjen og utførte kode med hell med meldingen som vises i utdraget nedenfor.

Konklusjon

I denne opplæringen har vi kort studert en feil som oftest forekommer på kompileringstidspunktet, som er syntaksfeilen. Denne typen feil oppstår for det meste når programmereren har initialisert dataene utenfor klassen. Og de skjedde sannsynligvis på grunn av dårlig programmeringspraksis. Vi forventer at denne artikkelen vil være fordelaktig for deg mens du jobber med klasser og konstruktører. Du kan prøve flere eksempler for å bedre forstå hvordan disse typer feil vil bli løst.