Επίλυση της απροσδιόριστης αναφοράς σε Pow σε C++
Όταν αντιμετωπίζουμε αυτό το μήνυμα σφάλματος, απλώς προσθέτουμε το αρχείο κεφαλίδας στον κώδικά μας στον οποίο δηλώνεται η συνάρτηση 'pow()'. Αυτό αφαιρεί το σφάλμα από τον κώδικά μας. Τα αρχεία κεφαλίδας που χρησιμοποιούνται για τη συνάρτηση 'pow()' είναι:
- #include
αρχείο κεφαλίδας - #include
αρχείο κεφαλίδας - #include
αρχείο κεφαλίδας
Ακολουθούν ορισμένοι κωδικοί που θα δείξουν πώς εμφανίζεται αυτό το σφάλμα και πώς να αντιμετωπίσετε αυτό το σφάλμα στον προγραμματισμό της C++.
Παράδειγμα 1:
Στο πρώτο μας παράδειγμα, προσθέτουμε το αρχείο κεφαλίδας «#include
Μετά από αυτό, καλούμε τη συνάρτηση 'int main()' εδώ, η οποία χρησιμοποιείται για να ορίσει την έναρξη του κώδικα C++ μας. Τώρα, σε αυτή τη συνάρτηση, χρησιμοποιούμε τη δήλωση 'cout<<' που βοηθά στην εκτύπωση των δεδομένων στην οθόνη. Η δήλωση '<< endl' χρησιμοποιείται για να μετατοπίσουμε τον δείκτη μας στη νέα γραμμή.
Μετά από αυτό, χρησιμοποιείται η συνάρτηση «pow()» στην οποία πρέπει να περάσουμε δύο παραμέτρους: βάση και εκθέτη. Εδώ, προσθέτουμε το '10, 4', στο οποίο το '10' είναι ο βασικός αριθμός και το '4' ο εκθέτης. Στο τέλος αυτού του κωδικού, εισάγουμε μια ακόμη δήλωση που είναι 'return 0'.
Κωδικός 1:
#includeχρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( ) {
cout << 'Η συνάρτηση ισχύος χρησιμοποιείται εδώ' ;
cout << endl << endl ;
cout << pow ( 10 , 4 ) ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}
Παραγωγή:
Αφού συμπληρώσουμε τον κώδικα, πρέπει να τον μεταγλωττίσουμε και να τον εκτελέσουμε. Όταν μεταγλωττίζουμε τον προηγούμενο κώδικα, εμφανίζεται το μήνυμα λάθους που δηλώνει 'το pow δεν δηλώθηκε σε αυτό το πεδίο'. Αυτό το σφάλμα εμφανίζεται επειδή δεν έχουμε προσθέσει το αρχείο κεφαλίδας στο οποίο δηλώνεται αυτή η συνάρτηση 'pow()'. Για να λύσουμε αυτό το σφάλμα, πρέπει να εισαγάγουμε οποιοδήποτε από τα αρχεία κεφαλίδας που αναφέραμε προηγουμένως.
Τώρα, πρέπει να λύσουμε αυτό το σφάλμα για να έχουμε το αποτέλεσμα. Για αυτό, κάναμε μερικές αλλαγές στον κώδικα. Στον ίδιο κώδικα, προσθέτουμε το αρχείο κεφαλίδας «#include» μετά το αρχείο κεφαλίδας «». Αυτό βοηθά στην αφαίρεση του σφάλματος του προηγούμενου κώδικα επειδή η συνάρτηση 'pow()' δηλώνεται σε αυτό το αρχείο κεφαλίδας.
Ενημερωμένος Κωδικός 1:
#include#include
χρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( ) {
cout << 'Η συνάρτηση ισχύος χρησιμοποιείται εδώ' ;
cout << endl << endl ;
cout << pow ( 10 , 4 ) ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}
Παραγωγή :
Αυτός ο ενημερωμένος κώδικας έχει πλέον μεταγλωττιστεί και εκτελείται με επιτυχία, και λαμβάνουμε την έξοδο του κώδικα. Το σφάλμα του προηγούμενου κώδικα έχει πλέον αφαιρεθεί και το ακόλουθο αποτέλεσμα εμφανίζεται μετά τη μεταγλώττιση:
Παράδειγμα 2:
Εδώ, έχουμε ένα άλλο παράδειγμα στη C++. Αφού προσθέσουμε το «
Κωδικός 2:
#includeχρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( )
{
cout << 'Βρίσκουμε τη δύναμη ενός αριθμού εδώ στον προγραμματισμό C++.' << endl << endl ;
ενθ σε ένα, exp , αποτέλεσμα ;
σε ένα = 25 ;
exp = 2 ;
αποτέλεσμα = pow ( σε ένα, exp ) ;
cout << 'Η δύναμη του αριθμού είναι =' << αποτέλεσμα ;
cout << endl ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}
Παραγωγή :
Τώρα, αυτός ο νέος κώδικας εμφανίζει το ίδιο μήνυμα σφάλματος με το προηγούμενο παράδειγμα. Ο λόγος είναι ότι είναι επίσης το ίδιο επειδή δεν εισαγάγαμε το αρχείο κεφαλίδας με το οποίο μπορούμε να λάβουμε αυτήν τη συνάρτηση 'pow()'.
Τώρα, προσθέτουμε το αρχείο κεφαλίδας στον κώδικά μας που είναι το αρχείο κεφαλίδας 'cmath'. Αυτό το αρχείο κεφαλίδας χρησιμοποιείται στον προγραμματισμό C++ για να λάβουμε τη συνάρτηση 'pow()' του κώδικά μας. Αφού προσθέσουμε το αρχείο κεφαλίδας «#include», παίρνουμε την απαιτούμενη έξοδο του κώδικά μας.
Παράδειγμα 3:
Τώρα, έχουμε ένα ακόμη παράδειγμα. Εδώ, μετά τη συνάρτηση 'main()', δηλώνουμε και αρχικοποιούμε το 'base_num' του τύπου δεδομένων 'long double' με '4.5'. Στη συνέχεια, δηλώνουμε και αρχικοποιούμε επίσης το 'expo_num' του τύπου δεδομένων 'ακέραιος' με '-2'. Δηλώνουμε επίσης μια ακόμη μεταβλητή του ονόματος 'result_1' που είναι τύπου δεδομένων 'long double'.
Τώρα, χρησιμοποιούμε τη συνάρτηση 'pow()' για να αρχικοποιήσουμε τη μεταβλητή 'result_1' και να περάσουμε τα 'base_num' και 'expo_num' σε αυτήν τη συνάρτηση. Μετά από αυτό, εκτυπώνουμε το αποτέλεσμα χρησιμοποιώντας την εντολή «cout». Τώρα, δηλώνουμε και αρχικοποιούμε δύο ακόμη μεταβλητές, 'f_baseNum' και 'f_expoNum', με τον τύπο δεδομένων 'float'. Τα αρχικοποιούμε με “-9,2” και “5”, αντίστοιχα. Στη συνέχεια, δηλώνουμε το 'result_2' ως 'διπλό' τύπο δεδομένων. Τώρα αρχικοποιούμε τη μεταβλητή 'result_22' χρησιμοποιώντας τη μέθοδο 'pow()', περνώντας στα 'f_baseNum' και 'f_expoNum'. Στη συνέχεια, χρησιμοποιούμε την εντολή 'cout' για να εκτυπώσουμε το αποτέλεσμα.
Κωδικός 3:
#includeχρησιμοποιώντας χώρο ονομάτων std ;
ενθ κύριος ( ) {
μακρύς διπλό βάση_αριθμός = 4.5 ;
ενθ expo_num = - 2 ;
μακρύς διπλό αποτέλεσμα_1 ;
αποτέλεσμα_1 = pow ( βασικό_αριθμός, expo_num ) ;
cout << 'Το base_num εδώ είναι σε long double και το expo_num είναι σε ακέραιο τύπο ' << endl << endl ;
cout << βάση_αριθμός << '^' << expo_num << ' = ' << αποτέλεσμα_1 << endl << endl ;
φλοτέρ f_baseNum = - 9.2 , f_expoNum = 5 ;
διπλό αποτέλεσμα_2 ;
αποτέλεσμα_2 = pow ( f_baseNum, f_expoNum ) ;
cout << 'Το f_baseNum εδώ είναι σε float και το f_expoNum είναι διπλού τύπου' << endl << endl ;
cout << f_baseNum << '^' << f_expoNum << ' = ' << αποτέλεσμα_2 ;
ΕΠΙΣΤΡΟΦΗ 0 ;
}
Παραγωγή :
Μετά τη μεταγλώττιση αυτού του κώδικα, λαμβάνουμε ένα μήνυμα σφάλματος που λέει ότι η συνάρτηση τροφοδοσίας δεν δηλώθηκε σε αυτό το πεδίο. Σημαίνει ότι χάσαμε το αρχείο κεφαλίδας στο οποίο δηλώνεται αυτή η συνάρτηση.
Το σφάλμα επιλύεται τώρα χρησιμοποιώντας το αρχείο κεφαλίδας '
Μετά την τοποθέτηση αυτού, ο κώδικας συμμορφώνεται με επιτυχία και παίρνουμε την έξοδο του κωδικού μας που εμφανίζεται επίσης εδώ.
Μπορεί επίσης να λάβουμε την έξοδο χρησιμοποιώντας ένα άλλο αρχείο κεφαλίδας, το αρχείο κεφαλίδας '
Αφού προσθέσουμε το '
συμπέρασμα
Σε αυτό το άρθρο, το σφάλμα 'απροσδιόριστη αναφορά στο δυναμικό' ή 'το pow δεν δηλώθηκε σε αυτό το πεδίο εφαρμογής' στον προγραμματισμό C++ συζητείται επίσης λεπτομερώς. Εξερευνήσαμε επίσης τους τρόπους ή τα αρχεία κεφαλίδας που βοηθούν στην αφαίρεση του σφάλματος για επιτυχημένη μεταγλώττιση κώδικα. Παρουσιάσαμε τα παραδείγματα στα οποία δείξαμε το μήνυμα σφάλματος και το αποτέλεσμα του κώδικα μετά την κατάργηση αυτού του μηνύματος σφάλματος.