C ++ feil forventet primært uttrykk før

C ++ feil forventet primært uttrykk før

Mens du skriver en kode, kan en programmerer møte noen uklarheter. Det er forskjellige typer feil som logiske feil, feiltidsfeil eller syntaksfeil. Logiske feil er vanskelige å forstå fordi det ikke viser noen feil mens syntaks og sammenstiller tidsfeil ikke engang utfører; De genererer en feil mens samlingen av koden starter.

I dag vil vi diskutere om en syntaksfeil som kan oppstå på grunn av noe som mangler i koden eller noe som legges til koden. Feilen som vi skal diskutere er "forventet primært uttrykk". Denne feilen oppstår hovedsakelig når det mangler noe nøkkelord. For å bli kjent med denne feilen, er det et nøkkelord eller et tegn på slutten som viser årsaken til feilen forekomst. Når syntaksen ikke følges riktig. Den viser feilen som indikerer linjen der den oppstår.

De viktigste årsakene til forekomsten av feilen er:

  • Hvis datatypen til argumentet også er spesifisert med variabelen, påkaller den en feil.
  • Hvis det passerte argumentet er feil type, som hvordan en streng til funksjonen er en feil type fordi vi ikke kan gi en streng til funksjonen.
  • Hvis de krøllete seler mangler eller ekstra tannregulering blir lagt til ved en feiltakelse som genererer feilen.
  • Det oppstår også når parentesen i IF -uttalelsen ikke har noe uttrykk eller resultat.

Syntaks:

Som vi diskuterte i innledningen, er dette en feil og ikke et stykke kode som må ha noen spesifisert syntaks. Følgende er feilprøven om hvordan det ser ut.

Feil: Forventet primært uttrykk før 'element'

I forrige feil betegner “element” nøkkelordet som ethvert uttrykk mangler eller lagt til. Et uttrykk kan være et tegn, aritmetisk verdi, seler eller et relasjonelt uttrykk.

Eksempel 1:

Nå utfører vi et eksempel der vi utfører et tillegg av to variabler i en brukerdefinert funksjon og deretter viser summen av begge verdiene. La oss inkludere våre "iostream" og "String" -tekstfiler. Iostream brukes til å gjøre det mulig for kompilatoren å bruke den innebygde I/O -operasjonene som er gitt av den der streng. Deretter erklærer vi en brukerdefinert funksjon som heter “MyFunct ()” som vi passerer to argumenter for variablene som er beregnet. Inne i denne funksjonen erklærer vi et variabelt navngitt tillegg som er ansvarlig for å holde summen av "var1" og "var2 -variabler.

Nå, på vei til hovedfunksjonen der vi definerer heltallverdien “resultat” som vi tildeler MyFunct () -metoden ved å passere to heltallverdier, “20” og “30”. Etter det utfører vi returverdien til funksjonen som er lagret i "Resultat" -variabelen ved hjelp av COUT -setningen som er gitt av IOSTREAM -biblioteket.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int myfunct (int var1, int var2)

int tillegg;
tillegg = var1 + var2;
returnerer;

int main ()

int resultat = myfunct (20, 30);
std :: cout << "addition of var1 and var2 is:"<< result << std::endl;

Etter utførelsen av koden, møter vi to feil på linje 12 som indikerer et problem med "int" -elementet som betyr at vi ikke kan passere datatypen sammen med variabelnavnet som et argument til funksjonen. Argumenter sendes alltid uten datatypen til funksjonssamtalen. Nå fjerner vi feilen ved å eliminere datatypene som vi overfører den og deretter utføre koden på nytt.

Etter utførelse av utførelse av viste vi vellykket returverdien til tillegget, som vi kan se i følgende skjermbilde:

Eksempel 2:

Nå prøver vi et annet eksempel der vi beregner lengden på ordet, beregner permutasjonen og viser det. Etter å ha inkludert overskriftsfilene, erklærer vi de tre funksjonene. GetData () -funksjonen som får en streng fra brukeren. Inne i denne metoden erklærer vi en strengvariabel, “Word”. Ved hjelp av "CIN" -uttalelsen får vi strengen fra brukeren og returnerer verdien. Den andre funksjonen er "lengde_count ()" som beregner lengden på strengen ved å bruke metodelengden () og returnerer verdien. Den tredje funksjonen er "myfunc ()" som sjekker om strenglengden er større enn "1". Deretter beregner det permutasjonen og returnerer den ellers. Det returnerer ganske enkelt lengden på strengen.

Til slutt beveger vi oss til hovedfunksjonen der vi erklærer en strengvariabel som heter “Word” som vi tildelte funksjonssamtalen til getData (). Dette betyr at dataene vi har tatt fra brukeren er tilordnet "Word" -variabelen og opprette en annen variabel som er "Wordlength" som vi tildeler funksjonsanropet til lengden_count () der vi passerer "Word" -variabelen langs langs med sin "streng" datatype. Til slutt, ved hjelp av cout -setningen, viser vi resultatet av permutasjonen av strengen som vi har tatt fra brukeren og utfører koden.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
streng getData ();
int lengde_count (strengord);
int myfunc (int wordlength);
String getData ()

strengord;
cout << "Please enter a word: ";
cin >> ord;
returner ord;

int lengde_count (strengord)

int ordlengde;
WordLength = Word.lengde();
returner ordlengde;

int myfunc (int wordlength)

if (ordlengde == 1)

returner ordlengde;

ellers

returner ordlengde * myfunc (ordlengde - 1);


int main ()

strengord = getData ();
int wordlength = lange_count (strengord);
cout << word << " has " << myfunc(wordLength) << " permutations." << endl;
retur 0;

Etter utførelsen får vi denne feilen som viser at vi gjorde en feil på linje 43. Vi gir datatypen til funksjonen sammen med variabelen. Som vi vet, kan vi ikke gi datatypen til variabelen. Nå prøver vi å løse denne feilen ved å fjerne datatypen fra funksjonssamtalen og utføre den igjen.

Etter å ha utført koden igjen, viste vi vellykket meldingen for å ha verdien fra brukeren når vi oppgir "JS" -strengen. Etter det vises permutasjonen av koden som vist i følgende:

Konklusjon

I denne artikkelen studerte vi typen feil som kan oppstå mens vi skrev koden. Noen ganger kan koderen savne noe, eller han/hun kan legge til et uttrykk eller erklært en feil syntaks for funksjonene eller utsagnene ved en feiltakelse. Ved å bruke den detaljerte gjennomgangen og implementere eksemplene, beskrev vi kort feilen og grunnen til at denne feilen kan oppstå. Vi diskuterte også metodikken for å løse disse feilene. Vi håper at denne artikkelen er nyttig for deg å løse denne typen feil.