Πίνακας περιεχομένων:
Βίντεο: Zeitgeist Addendum 2024
Όταν μπαίνεις σε ένα πρόγραμμα σε C ++, το βήμα Build σχεδόν σίγουρα δεν βγαίνει χωρίς λάθος. Ένα πρόγραμμα Gold Star είναι ένα πρόγραμμα που λειτουργεί την πρώτη φορά που το δημιουργείτε και το εκτελείτε. Δεν θα γράψετε σχεδόν ποτέ ένα πρόγραμμα Gold Star σε ολόκληρη την καριέρα προγραμματισμού. Κανείς δεν το κάνει. Μην ιδρώνετε.
Αυτές είναι μόνο δύο από τις μυριάδες τρόπους για να σπάσουν το C ++. Η εκμάθηση πώς να ερμηνεύσει αυτό που ο μεταγλωττιστής προσπαθεί να σας πει - με τα λάθη και τα προειδοποιητικά μηνύματά του - είναι ένα σημαντικό μέρος της εκμάθησης της γλώσσας. Μπορεί να έρθει μόνο από πολλούς μήνες πρακτικής και να αποκτήσει εμπειρία με τη γλώσσα. Ας ελπίσουμε ότι αυτά τα δύο παραδείγματα θα σας βοηθήσουν να ξεκινήσετε.
Εσφαλμένες εντολές σε C ++
Οι εντολές με λάθος εντολή είναι τα ευκολότερα λάθη για τον εντοπισμό και τη διόρθωση. Για να δείξει το σημείο, έχει προστεθεί ένα επιπλέον t σε αυτή τη γραμμή κώδικα έτσι ώστε να διαβάζει
intt celsius.
Σε αντίθεση με το int, η λέξη intt δεν έχει νόημα στην C ++. Η δημιουργία του προκύπτοντος προγράμματος με αυτή τη γραμμή δημιούργησε την εμφάνιση που εμφανίζεται.
Καταρχάς παρατηρήστε το μικρό, κόκκινο μπλοκ στη Γραμμή 14 που δείχνει ένα πρόβλημα κάπου στη γραμμή αυτή. Μπορείτε να διαβάσετε τα πάντα σχετικά με αυτό στην καρτέλα "Δημιουργία μηνυμάτων" στο κάτω δεξιό παράθυρο. Εδώ μπορείτε να δείτε τα παρακάτω μηνύματα:
Σε λειτουργία 'int main (int, char **)': 14 σφάλμα: 'intt' δεν δηλώθηκε σε αυτό το πεδίο 14 σφάλμα: αναμενόμενο '; 'πριν από το' celsius '16 σφάλμα:' celsius 'δεν δηλώθηκε σε αυτό το πεδίο εφαρμογής
Η πρώτη γραμμή υποδεικνύει το όνομα της συνάρτησης που περιέχει το σφάλμα. Είναι εύκολο να πιστέψουμε ότι όλος ο κώδικας σε αυτό το πρόγραμμα βρίσκεται σε μια λειτουργία που ονομάζεται κύρια. Η επόμενη γραμμή είναι το κλειδί. Αυτό ουσιαστικά αναφέρει ότι η C ++ δεν κατάλαβε τι είναι η γραμμή 14 του προγράμματος.
Το μήνυμα σφάλματος είναι λίγο κρυπτό, αλλά αρκεί να πούμε ότι θα πάρετε αυτό το ίδιο μήνυμα σφάλματος σχεδόν κάθε φορά που το λάθος λέτε κάτι. Τα υπόλοιπα μηνύματα σφάλματος είναι μόνο παραπροϊόντα του αρχικού σφάλματος.
Ένα σφάλμα C ++ μπορεί να δημιουργήσει μια αλληλουχία μηνυμάτων σφάλματος. Είναι δυνατό να εντοπιστούν και να διορθωθούν πολλαπλά σφάλματα σε μια μονή προσπάθεια δημιουργίας, αλλά χρειάζεται εμπειρία για να καταλάβουμε ποια λάθη προέρχονται από άλλα. Προς το παρόν, εστιάστε στο πρώτο μήνυμα σφάλματος. Διορθώστε το και ανοίξτε ξανά το πρόγραμμα.
Λείπει το ερωτηματικό στον κώδικα C ++
Ένα άλλο συνηθισμένο σφάλμα είναι να αφήσετε ένα ερωτηματικό. Το μήνυμα που δημιουργεί αυτό το σφάλμα μπορεί να είναι λίγο συγκεχυμένο. Για να το δείξετε, αφαιρέστε το ερωτηματικό από τη δήλωση στη γραμμή 14 έτσι ώστε να διαβάζει
int celsius cout << "εισάγετε τη θερμοκρασία σε Κελσίου:";
Το σφάλμα που αναφέρθηκε από τη C ++ για αυτήν την παράβαση δεν δείχνει στη γραμμή 14 αλλά στην ακόλουθη γραμμή, 15:
15 σφάλμα: αναμενόμενη αρχικοποίηση πριν από το 'cout' 16 σφάλμα: 'celsius' > Αυτό γίνεται πιο κατανοητό όταν θεωρείτε ότι το C ++ θεωρεί τις νέες γραμμές ως μια άλλη μορφή λευκού χώρου.Χωρίς το ερωτηματικό, το C ++ τρέχει τις δύο γραμμές μαζί. Δεν υπάρχει ξεχωριστή γραμμή 14 πια. Το C ++ μπορεί να ερμηνεύσει το πρώτο μέρος, αλλά δεν καταλαβαίνει την πρόταση που ξεκινά με cout.
Τα κενά ερωτηματικά συχνά δημιουργούν μηνύματα σφάλματος που έχουν ελάχιστη ομοιότητα με το πραγματικό μήνυμα σφάλματος και σχεδόν πάντα βρίσκονται στην επόμενη γραμμή μετά το πραγματικό σφάλμα. Εάν υποψιάζεστε ότι υπάρχει κενό διάστημα, ξεκινήστε στη γραμμή με το αναφερόμενο σφάλμα και σαρώστε προς τα πίσω.