שגיאה: התייחסות לא מוגדרת ל-Pow ב-C++

Sgy H Htyyhswt L Mwgdrt L Pow B C



כאשר עובדים בשפות תכנות, הן חייבות להכיל ספריות, פונקציות, תחביר וכו'. לכן, יש פוטנציאל לשגיאות בתוכנות שלנו. ישנן שגיאות שונות מסוגים שונים בתכנות C++. כאן, נדון בשגיאת 'התייחסות לא מוגדרת ל-pow' בתכנות C++. לפעמים, זה מופיע כ'לא הוכרז בהיקף זה' ולשניהם יש אותה משמעות. שגיאה זו מתרחשת כאשר איננו מוסיפים את קובץ הכותרת לקוד C++ שלנו או שאנו עלולים לא להדר את הקוד כראוי. אנו גם נחקור את קבצי הכותרות המסייעים בהסרת השגיאה הזו מקוד C++ שלנו.

פתרון ההתייחסות הבלתי מוגדרת ל-Pow ב-C++

כאשר אנו מתמודדים עם הודעת השגיאה הזו, אנו פשוט מוסיפים את קובץ הכותרת בקוד שלנו שבו מוצהרת הפונקציה 'pow()'. זה מסיר את השגיאה מהקוד שלנו. קבצי הכותרות המשמשים עבור הפונקציה 'pow()' הם:

  • #include קובץ הכותרת
  • #include קובץ הכותרת
  • #include קובץ הכותרת

הנה כמה קודים שיראו כיצד שגיאה זו מתרחשת וכיצד להתמודד עם שגיאה זו בתכנות C++.







דוגמה 1:

בדוגמה הראשונה שלנו, אנו מוסיפים את קובץ הכותרת '#include ' המסייע בביצוע משימות הקלט והפלט. לאחר מכן, עלינו לכתוב 'באמצעות מרחב שמות std' אחרי הכותרת הזו. זה מסייע במניעת הבלבול שעלול להיווצר משתי תעודות זהות שחולקות את אותו השם.



לאחר מכן, אנו קוראים לפונקציה 'int main()' כאן המשמשת להגדרת ההתחלה של קוד C++ שלנו. כעת, בפונקציה זו, אנו משתמשים במשפט 'cout<<' המסייע בהדפסת המידע הנתון על מסך התצוגה. ההצהרה '<< endl' משמשת כדי להעביר את המצביע שלנו לשורה החדשה.



לאחר מכן, נעשה שימוש בפונקציה 'pow()' שבה עלינו להעביר שני פרמטרים: בסיס ואקספונט. כאן, נוסיף '10, 4', שבו '10' הוא מספר הבסיס ו-'4' הוא המעריך. בסוף קוד זה, אנו מכניסים עוד משפט אחד שהוא 'החזר 0'.





קוד 1:

#include
באמצעות מרחב שמות סטד ;
int רָאשִׁי ( ) {
cout << 'פונקציית הכוח מנוצלת כאן' ;
cout << endl << endl ;
cout << פאו ( 10 , 4 ) ;
לַחֲזוֹר 0 ;
}

תְפוּקָה:
לאחר השלמת הקוד, עלינו לקמפל ולהריץ אותו. כאשר אנו קומפילים את הקוד הקודם, מופיעה הודעת השגיאה האומרת 'pow לא הוכרז בהיקף זה'. שגיאה זו מופיעה מכיוון שלא הוספנו את קובץ הכותרת שבו הפונקציה 'pow()' הזו מוצהרת. כדי לפתור שגיאה זו, עלינו להכניס כל אחד מקבצי הכותרות שהזכרנו קודם לכן.



כעת, עלינו לפתור את השגיאה הזו כדי לקבל את התוצאה. לשם כך, ביצענו מעט שינויים בקוד. באותו קוד, אנו מוסיפים את קובץ הכותרת '#include' לאחר קובץ הכותרת ''. זה עוזר להסיר את השגיאה של הקוד הקודם מכיוון שהפונקציה 'pow()' מוצהרת בקובץ הכותרת הזה.

קוד 1 מעודכן:

#include
#include
באמצעות מרחב שמות סטד ;
int רָאשִׁי ( ) {
cout << 'פונקציית הכוח מנוצלת כאן' ;
cout << endl << endl ;
cout << פאו ( 10 , 4 ) ;
לַחֲזוֹר 0 ;
}

תְפוּקָה :
הקוד המעודכן הזה מורכב כעת ופועל בהצלחה, ואנו מקבלים את הפלט של הקוד. השגיאה של הקוד הקודם מוסרת כעת והתוצאה הבאה מופיעה לאחר ההידור:

דוגמה 2:

הנה, יש לנו דוגמה נוספת ב-C++. לאחר הוספת ה-' ' וה-'std', אנו קוראים כעת לפונקציה 'main()'. בתוך main(), אנו פשוט מדפיסים שורה בעזרת הצהרת 'cout'. לאחר מכן, אנו מכריזים על שלושה משתנים מסוג נתונים שלמים בשם 'num, exp ותוצאה'. לאחר מכן, אנו מאתחלים את 'num' עם '25' ו-'exp' עם '2'. המשתנה 'result' מאותחל עם הפונקציה 'pow()' שבה 'num' ו-'exp' מועברים כשני הפרמטרים של פונקציה זו. לאחר מכן, אנו מציגים את תוצאת הכוח באמצעות 'cout'.

קוד 2:

#include
באמצעות מרחב שמות סטד ;
int רָאשִׁי ( )
{
cout << 'אנחנו מוצאים את הכוח של מספר כאן בתכנות C++.' << endl << endl ;
int על אחד, exp , תוצאה ;
על אחד = 25 ;
exp = 2 ;
תוֹצָאָה = פאו ( על אחד, exp ) ;
cout << 'כוחו של המספר הוא = ' << תוֹצָאָה ;
cout << endl ;
לַחֲזוֹר 0 ;
}

תְפוּקָה :
כעת, הקוד החדש הזה מציג את אותה הודעת שגיאה כמו הדוגמה הקודמת. הסיבה היא שזה גם זהה כי לא הכנסנו את קובץ הכותרת שבאמצעותו נוכל לקבל את הפונקציה 'pow()' הזו.

כעת, אנו מוסיפים את קובץ הכותרת לקוד שלנו שהוא קובץ הכותרת 'cmath'. קובץ כותרת זה משמש בתכנות C++ כדי לקבל את הפונקציה 'pow()' של הקוד שלנו. לאחר הוספת קובץ הכותרת '#include', אנו מקבלים את הפלט הנדרש של הקוד שלנו.

דוגמה 3:

עכשיו, יש לנו עוד דוגמה אחת. כאן, לאחר הפונקציה 'main()', אנו מצהירים ומאתחלים את ה-'base_num' של סוג הנתונים 'long double' עם '4.5'. לאחר מכן, אנו גם מצהירים ומאתחלים את 'expo_num' של סוג הנתונים 'שלמות' עם '-2'. אנו גם מכריזים על משתנה אחד נוסף בשם 'result_1' שהוא מסוג נתונים מסוג 'כפול ארוך'.

כעת, אנו משתמשים בפונקציה '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
באמצעות מרחב שמות סטד ;
int רָאשִׁי ( ) {
ארוך לְהַכפִּיל base_num = 4.5 ;
int expo_num = - 2 ;
ארוך לְהַכפִּיל תוצאה_1 ;
תוצאה_1 = פאו ( base_num, expo_num ) ;
cout << 'ה-base_num כאן הוא כפול ארוך ו-expo_num הוא בסוג מספר שלם' << endl << endl ;
cout << base_num << '^' << expo_num << ' = ' << תוצאה_1 << endl << endl ;
לָצוּף f_baseNum = - 9.2 , f_expoNum = 5 ;
לְהַכפִּיל תוצאה_2 ;
תוצאה_2 = פאו ( f_baseNum, f_expoNum ) ;
cout << 'ה-f_baseNum כאן הוא ב-float ו-f_expoNum הוא בסוג כפול' << endl << endl ;
cout << f_baseNum << '^' << f_expoNum << ' = ' << תוצאה_2 ;
לַחֲזוֹר 0 ;
}

תְפוּקָה :
לאחר קומפילציה של קוד זה, אנו מקבלים הודעת שגיאה האומרת שפונקציית הכוח לא הוכרזה בהיקף זה. זה אומר שפספסנו את קובץ ה-header שבו הפונקציה הזו מוצהרת.

השגיאה נפתרת כעת באמצעות קובץ הכותרת ''. הפעם, אנו משתמשים בקובץ הכותרת '#include ' מכיוון שקובץ הכותרת הזה מסייע גם בפתרון השגיאה.

לאחר הצבת זה, הקוד תואם בהצלחה ואנו מקבלים את הפלט של הקוד שלנו שמוצג גם כאן.

אנו עשויים לקבל את הפלט גם באמצעות קובץ כותרת אחר, קובץ הכותרת ' '. אנו עושים שימוש בכל הספריות הסטנדרטיות בתכנות שלנו בעזרת קובץ הכותרות הזה.

לאחר הוספת ה-' ', נקבל את הפלט הנדרש מכיוון ש-'bits/stdc++.h>' מכיל כל ספרייה סטנדרטית. אז, השגיאה מוסרת כעת לאחר הוספת ספריה זו לקוד שלנו, ותוצאת הפלט מוצגת כאן.

סיכום

במאמר זה, השגיאה 'התייחסות לא מוגדרת ל-pow' או 'pow לא הוכרזה בהיקף זה' בתכנות C++ נידונה גם בפירוט. בדקנו גם את הדרכים או קבצי הכותרות המסייעים בהסרת השגיאה להידור קוד מוצלח. הדגמנו את הדוגמאות שבהן הצגנו את הודעת השגיאה ואת תוצאת הקוד לאחר הסרת הודעת השגיאה.