2 Vanliga fel i C ++ under Build Step

2 Vanliga fel i C ++ under Build Step - dummies

När du skriver in ett program i C ++, kommer byggsteget nästan inte att gå utan fel. Ett Gold Star-program är ett som fungerar första gången du bygger och kör det. Du kommer nästan aldrig skriva ett Gold Star-program i hela din programmeringskarriär. Ingen gör. Svettas inte.

Dessa är bara två av de otaliga sätten att skruva upp i C ++. Att lära sig att tolka vad kompilatorn försöker berätta för dig - med fel och varningsmeddelanden - är en viktig del av att lära sig språket. Det kan bara komma från många månaders träning och få erfarenhet av språket. Förhoppningsvis kommer dessa två exempel att få dig att starta.

Felstavade kommandon i C ++

Felstavade kommandon är de enklaste felen att identifiera och korrigera. För att visa punkten har en extra t lagts till denna kodrad så att den läser

 intt celsius; 

Till skillnad från int har ordet intt ingen betydelse för C ++. Att bygga det resulterande programmet med den här raden gav den visade bilden.

Observera först det lilla röda blocket på rad 14 som indikerar ett problem någonstans på denna linje. Du kan läsa allt om det nere i fliken Build Messages i nedre högra fönstret. Här kan du se följande meddelanden:

 I funktionen 'int main (int, char **)': 14 error: 'intt' förklarades inte i detta räckvidd 14 fel: förväntat '; 'före' celsius '16 fel:' celsius 'förklarades inte i detta räckvidd 

Den första raden anger namnet på den funktion som innehåller felet. Det är lätt att tro att hela koden i det här programmet är i en funktion som kallas huvud. Nästa rad är nyckeln. Detta säger i huvudsak att C ++ inte förstod vad intt är på rad 14 i programmet.

Felmeddelandet är lite kryptiskt, men det räcker med att säga att du får samma felmeddelande nästan varje gång du misspellar något. De återstående felmeddelandena är bara biprodukter från det ursprungliga felet.

Ett C ++-fel kan generera en kaskad av felmeddelanden. Det är möjligt att identifiera och åtgärda flera fel i ett enda byggprov, men det krävs erfarenhet för att ta reda på vilka fel som härrör från vilka andra. För närvarande fokusera på det första felmeddelandet. Fixa det och bygga om programmet.

Saknas semikolon i C ++-kod

Ett annat vanligt fel är att lämna en semikolon. Meddelandet som detta fel genererar kan vara lite förvirrande. För att demonstrera, ta bort semikolon från deklarationen på rad 14 så att den läser

 int celsius cout << "ange temperaturen i Celsius:"; 

Felet som rapporterats av C ++ för detta brott hänvisar inte till rad 14 men till följande rad, 15:

 15 fel: förväntad initialisering före 'cout' 16 fel: 'celsius' har inte deklarerats inom detta område  > Det här är lättare att förstå när du anser att C ++ anser nya linjer som bara en annan form av blankutrymme.Utan semikolonen driver C ++ de båda linjerna tillsammans. Det finns ingen separat linje 14 längre. C ++ kan tolka den första delen, men det förstår inte start-meningen som börjar med cout. 

Saknade semikolon genererar ofta felmeddelanden som inte har samma likhet med det faktiska felmeddelandet, och de är nästan alltid på nästa rad efter det faktiska felet. Om du misstänker en saknad semikolon, börja på raden med det rapporterade felet och skanna bakåt.