Innholdsfortegnelse:
Video: Writing 2D Games in C using SDL by Thomas Lively 2025
Når du går inn i et program i C ++, kommer byggesteget nesten ikke uten feil. Et Gold Star-program er en som fungerer første gang du bygger og utfører den. Du vil nesten aldri skrive et Gold Star-program i hele programmerings karrieren din. Ingen gjør det. Ikke svett det.
Dette er bare to av de myriade måtene å skru opp i C ++. Lære å tolke hva kompilatoren prøver å fortelle deg - med sine feil- og varselsmeldinger - er en viktig del av å lære språket. Det kan bare komme fra mange måneders praksis og få erfaring med språket. Forhåpentligvis vil disse to eksemplene få deg til å hoppe i gang.
Feilstavede kommandoer i C ++
Feilstavede kommandoer er de enkleste feilene å identifisere og korrigere. For å demonstrere poenget, har en ekstra t blitt lagt til denne koden slik at den leser
intt celsius;
I motsetning til int har ordet intt ingen betydning for C ++. Å bygge det resulterende programmet med denne linjen genererte skjermen vist.
Merk først den lille, røde blokken på Linje 14 som angir et problem et sted på denne linjen. Du kan lese alt om det nede i kategorien Bygg meldinger i nedre høyre vindu. Her kan du se følgende meldinger:
I funksjonen 'int main (int, char **)': 14 feil: 'intt' ble ikke erklært i dette omfanget 14 feil: forventet '; 'før' celsius '16 feil:' celsius 'ble ikke erklært i dette omfanget
Den første linjen indikerer navnet på funksjonen som inneholder feilen. Det er lett å tro at all koden i dette programmet er i en funksjon som kalles hoved. Neste linje er nøkkelen. Dette sier i hovedsak at C ++ ikke forstod hva intt er på linje 14 i programmet.
Feilmeldingen er litt kryptisk, men det er nok å si at du får den samme feilmeldingen nesten hver gang du støtter noe. De resterende feilmeldingene er bare biprodukter fra den opprinnelige feilen.
En C + + feil kan generere en kaskade av feilmeldinger. Det er mulig å identifisere og fikse flere feil i et enkelt byggforsøk, men det tar erfaring å finne ut hvilke feil som stammer fra hvilke andre. For øyeblikket fokuserer du på den første feilmeldingen. Løs det og gjenoppbygg programmet.
Manglende semikolon i C ++-kode
En annen vanlig feil er å legge av et semikolon. Meldingen som denne feilen genererer kan være litt forvirrende. For å demonstrere, fjern semikolonet fra erklæringen på linje 14 slik at den leser
int celsius cout << "angi temperaturen i Celsius:";
Feilen rapportert av C ++ for denne lovbrudd peker ikke på linje 14, men til følgende linje, 15:
15 feil: forventet initialisering før 'cout' 16 feil: 'celsius' ble ikke erklært i dette omfanget > Dette er lettere å forstå når du vurderer at C ++ anser nye linjer som bare en annen form for hvitt plass.Uten semikolon kjører C ++ de to linjene sammen. Det er ingen egen linje 14 lenger. C ++ kan tolke den første delen, men det forstår ikke løpestraffen som starter med cout.
Manglende semikolon genererer ofte feilmeldinger som har liten likhet med den faktiske feilmeldingen, og de er nesten alltid på neste linje etter den faktiske feilen. Hvis du mistenker en manglende semikolon, start på linjen med den rapporterte feilen og skann bakover.
