त्रुटि: C++ में Pow का अपरिभाषित संदर्भ

Truti C Mem Pow Ka Aparibhasita Sandarbha



प्रोग्रामिंग भाषाओं में काम करते समय, उनमें लाइब्रेरी, फ़ंक्शन, सिंटैक्स आदि शामिल होने चाहिए। इसलिए, हमारे प्रोग्राम में त्रुटि की संभावना है। C++ प्रोग्रामिंग में विभिन्न प्रकार की विभिन्न त्रुटियाँ हैं। यहां, हम C++ प्रोग्रामिंग में 'पाउ के अपरिभाषित संदर्भ' त्रुटि पर चर्चा करेंगे। कभी-कभी, ऐसा प्रतीत होता है कि 'इस दायरे में पाउ घोषित नहीं किया गया था' और दोनों का एक ही अर्थ है। यह त्रुटि तब होती है जब हम अपने C++ कोड में हेडर फ़ाइल नहीं जोड़ते हैं या हम कोड को सही ढंग से संकलित नहीं कर पाते हैं। हम उन हेडर फ़ाइलों का भी पता लगाएंगे जो हमारे C++ कोड से उस त्रुटि को दूर करने में सहायता करती हैं।

C++ में Pow के अपरिभाषित संदर्भ को हल करना

इस त्रुटि संदेश से निपटने के दौरान, हम बस अपने कोड में हेडर फ़ाइल जोड़ते हैं जिसमें 'pow()' फ़ंक्शन घोषित किया गया है। इससे हमारे कोड से त्रुटि दूर हो जाती है। 'पाउ()' फ़ंक्शन के लिए उपयोग की जाने वाली हेडर फ़ाइलें हैं:

  • #शामिल हेडर फ़ाइल
  • #शामिल हेडर फ़ाइल
  • #शामिल हेडर फ़ाइल

यहां कुछ कोड दिए गए हैं जो बताएंगे कि यह त्रुटि कैसे होती है और C++ प्रोग्रामिंग में इस त्रुटि से कैसे निपटा जाए।







उदाहरण 1:

हमारे पहले उदाहरण में, हम '#include ' हेडर फ़ाइल जोड़ते हैं जो इनपुट और आउटपुट कार्यों को करने में सहायता करती है। फिर, हमें इस हेडर के बाद “using namespace std” लिखना होगा। यह उस भ्रम को रोकने में सहायता करता है जो एक ही नाम साझा करने वाली दो आईडी से उत्पन्न हो सकता है।



इसके बाद, हम यहां 'int main()' फ़ंक्शन को कॉल करते हैं जिसका उपयोग हमारे C++ कोड की शुरुआत को परिभाषित करने के लिए किया जाता है। अब, इस फ़ंक्शन में, हम 'cout<<' स्टेटमेंट का उपयोग करते हैं जो डिस्प्ले स्क्रीन पर दी गई जानकारी को प्रिंट करने में सहायता करता है। हमारे पॉइंटर को नई लाइन पर स्थानांतरित करने के लिए '<< एंडएल' स्टेटमेंट का उपयोग किया जाता है।



इसके बाद, 'pow()' फ़ंक्शन का उपयोग किया जाता है जिसमें हमें दो पैरामीटर पास करने होते हैं: बेस और एक्सपोनेंट। यहां, हम '10, 4' जोड़ते हैं, जिसमें '10' आधार संख्या है और '4' घातांक है। इस कोड के अंत में, हम एक और स्टेटमेंट डालते हैं जो 'रिटर्न 0' है।





कोड 1:

#शामिल करें
का उपयोग करते हुए नाम स्थान कक्षा ;
int यहाँ मुख्य ( ) {
अदालत << 'पावर फ़ंक्शन का उपयोग यहां किया जाता है' ;
अदालत << अंतः << अंतः ;
अदालत << पाउ ( 10 , 4 ) ;
वापस करना 0 ;
}

आउटपुट:
कोड पूरा करने के बाद, हमें इसे संकलित और चलाना होगा। जब हम पिछले कोड को संकलित करते हैं, तो त्रुटि संदेश जो बताता है कि 'इस दायरे में पाउ घोषित नहीं किया गया था' प्रकट होता है। यह त्रुटि इसलिए दिखाई देती है क्योंकि हमने वह हेडर फ़ाइल नहीं जोड़ी है जिसमें यह 'pow()' फ़ंक्शन घोषित किया गया है। इस त्रुटि को हल करने के लिए, हमें कोई भी हेडर फ़ाइल सम्मिलित करनी होगी जिसका हमने पहले उल्लेख किया था।



अब, परिणाम प्राप्त करने के लिए हमें इस त्रुटि को हल करने की आवश्यकता है। इसके लिए हमने कोड में थोड़ा बदलाव किया। उसी कोड में, हम '' हेडर फ़ाइल के बाद '#include' हेडर फ़ाइल जोड़ते हैं। यह पिछले कोड की त्रुटि को दूर करने में मदद करता है क्योंकि इस हेडर फ़ाइल में 'pow()' फ़ंक्शन घोषित किया गया है।

अद्यतन कोड 1:

#शामिल करें
#शामिल करें <सीमैथ>
का उपयोग करते हुए नाम स्थान कक्षा ;
int यहाँ मुख्य ( ) {
अदालत << 'पावर फ़ंक्शन का उपयोग यहां किया जाता है' ;
अदालत << अंतः << अंतः ;
अदालत << पाउ ( 10 , 4 ) ;
वापस करना 0 ;
}

उत्पादन :
यह अद्यतन कोड अब संकलित है और सफलतापूर्वक चल रहा है, और हमें कोड का आउटपुट मिलता है। पिछले कोड की त्रुटि अब हटा दी गई है और संकलन के बाद निम्नलिखित परिणाम दिखाई देता है:

उदाहरण 2:

यहां, हमारे पास C++ में एक और उदाहरण है। ' ' और 'std' जोड़ने के बाद, अब हम 'main()' फ़ंक्शन को कॉल करते हैं। मेन() के अंदर, हम बस 'काउट' स्टेटमेंट की मदद से एक लाइन प्रिंट करते हैं। फिर, हम पूर्णांक डेटा प्रकार के तीन चर घोषित करते हैं जिन्हें 'संख्या, क्स्प और परिणाम' नाम दिया गया है। इसके बाद, हम 'num' को '25' से और 'exp' को '2' से आरंभ करते हैं। 'परिणाम' वेरिएबल को 'pow()' फ़ंक्शन के साथ प्रारंभ किया गया है जिसमें 'num' और 'exp' को इस फ़ंक्शन के दो पैरामीटर के रूप में पारित किया गया है। इसके बाद हम “cout” का उपयोग करके उस शक्ति परिणाम को प्रदर्शित करते हैं।

कोड 2:

#शामिल करें
का उपयोग करते हुए नाम स्थान कक्षा ;
int यहाँ मुख्य ( )
{
अदालत << 'हम यहां C++ प्रोग्रामिंग में एक संख्या की शक्ति का पता लगा रहे हैं।' << अंतः << अंतः ;
int यहाँ एक पर, ऍक्स्प , परिणाम ;
एक पर = 25 ;
ऍक्स्प = 2 ;
परिणाम = पाउ ( एक पर, ऍक्स्प ) ;
अदालत << 'संख्या की शक्ति है = ' << परिणाम ;
अदालत << अंतः ;
वापस करना 0 ;
}

उत्पादन :
अब, यह नया कोड पिछले उदाहरण जैसा ही त्रुटि संदेश दिखाता है। इसका कारण यह है कि यह भी वैसा ही है क्योंकि हमने हेडर फ़ाइल नहीं डाली है जिसके द्वारा हम यह 'पाउ()' फ़ंक्शन प्राप्त कर सकें।

अब, हम हेडर फ़ाइल को अपने कोड में जोड़ते हैं जो कि 'cmath' हेडर फ़ाइल है। इस हेडर फ़ाइल का उपयोग हमारे कोड के 'पाउ()' फ़ंक्शन को प्राप्त करने के लिए C++ प्रोग्रामिंग में किया जाता है। “#include” हेडर फ़ाइल जोड़ने के बाद, हमें अपने कोड का आवश्यक आउटपुट मिलता है।

उदाहरण 3:

अब, हमारे पास एक और उदाहरण है। यहां, 'मुख्य()' फ़ंक्शन के बाद, हम '4.5' के साथ 'लॉन्ग डबल' डेटा प्रकार के 'बेस_नम' को घोषित और आरंभ करते हैं। फिर, हम '-2' के साथ 'पूर्णांक' डेटा प्रकार के 'एक्सपो_नम' को भी घोषित और आरंभ करते हैं। हम 'result_1' नाम का एक और वेरिएबल भी घोषित करते हैं जो 'लॉन्ग डबल' डेटाटाइप का है।

अब, हम 'result_1' वेरिएबल को आरंभ करने के लिए 'pow()' फ़ंक्शन का उपयोग करते हैं और इस फ़ंक्शन में 'base_num' और 'expo_num' पास करते हैं। इसके बाद, हम 'काउट' कमांड का उपयोग करके परिणाम प्रिंट करते हैं। अब, हम 'फ्लोट' डेटा प्रकार के साथ दो और वेरिएबल्स, 'f_baseNum' और 'f_expoNum' घोषित और आरंभ करते हैं। हम उन्हें क्रमशः '-9.2' और '5' से आरंभ करते हैं। फिर, हम 'result_2' को 'डबल' डेटा प्रकार घोषित करते हैं। अब हम 'f_baseNum' और 'f_expoNum' को पास करते हुए 'pow()' विधि का उपयोग करके 'result_22' वेरिएबल को प्रारंभ करते हैं। इसके बाद, हम परिणाम को प्रिंट करने के लिए 'काउट' कमांड का उपयोग करते हैं।

कोड 3:

#शामिल करें
का उपयोग करते हुए नाम स्थान कक्षा ;
int यहाँ मुख्य ( ) {
लंबा दोहरा आधार संख्या = 4.5 ;
int यहाँ expo_num = - 2 ;
लंबा दोहरा परिणाम_1 ;
परिणाम_1 = पाउ ( बेस_नम, एक्सपो_नम ) ;
अदालत << 'यहां बेस_नम लॉन्ग डबल में है और एक्सपो_नम पूर्णांक प्रकार में है' << अंतः << अंतः ;
अदालत << आधार संख्या << '^' << expo_num << ' = ' << परिणाम_1 << अंतः << अंतः ;
तैरना f_baseNum = - 9.2 , f_expoNum = 5 ;
दोहरा परिणाम_2 ;
परिणाम_2 = पाउ ( f_baseNum, f_expoNum ) ;
अदालत << 'यहाँ f_baseNum फ्लोट में है और f_expoNum डबल प्रकार में है' << अंतः << अंतः ;
अदालत << f_baseNum << '^' << f_expoNum << ' = ' << परिणाम_2 ;
वापस करना 0 ;
}

उत्पादन :
इस कोड को संकलित करने के बाद, हमें एक त्रुटि संदेश मिलता है जो कहता है कि इस दायरे में पावर फ़ंक्शन घोषित नहीं किया गया था। इसका मतलब है कि हम उस हेडर फ़ाइल से चूक गए जिसमें यह फ़ंक्शन घोषित किया गया है।

त्रुटि अब '' हेडर फ़ाइल का उपयोग करके हल कर दी गई है। इस बार, हम '#include ' हेडर फ़ाइल का उपयोग करते हैं क्योंकि यह हेडर फ़ाइल उस त्रुटि को हल करने में भी सहायता करती है।

इसे रखने के बाद, कोड सफलतापूर्वक संकलित हो जाता है और हमें अपने कोड का आउटपुट मिलता है जो यहां भी दिखाया गया है।

हम किसी अन्य हेडर फ़ाइल, ' ' हेडर फ़ाइल का उपयोग करके भी आउटपुट प्राप्त कर सकते हैं। हम इस हेडर फ़ाइल की सहायता से अपनी प्रोग्रामिंग में सभी मानक पुस्तकालयों का उपयोग करते हैं।

' ' जोड़ने के बाद, हमें आवश्यक आउटपुट मिलता है क्योंकि 'bits/stdc++.h>' में प्रत्येक मानक लाइब्रेरी शामिल होती है। तो, इस लाइब्रेरी को हमारे कोड में जोड़ने के बाद त्रुटि अब दूर हो गई है, और आउटपुट परिणाम यहां दिखाया गया है।

निष्कर्ष

इस आलेख में, C++ प्रोग्रामिंग में 'pow का अपरिभाषित संदर्भ' या 'pow को इस दायरे में घोषित नहीं किया गया था' त्रुटि पर भी विस्तार से चर्चा की गई है। हमने उन तरीकों या हेडर फ़ाइलों का भी पता लगाया जो सफल कोड संकलन के लिए त्रुटि को दूर करने में सहायता करते हैं। हमने उन उदाहरणों का प्रदर्शन किया जिनमें हमने उस त्रुटि संदेश को हटाने के बाद त्रुटि संदेश और कोड का परिणाम दिखाया था।