خرابی: C++ میں Pow کا غیر متعینہ حوالہ

Khraby C My Pow Ka Ghyr Mt Yn Hwal



پروگرامنگ زبانوں میں کام کرتے وقت، ان میں لائبریریاں، فنکشنز، نحو وغیرہ شامل ہونا ضروری ہے۔ لہذا، ہمارے پروگراموں میں غلطی کا امکان ہے۔ C++ پروگرامنگ میں مختلف قسم کی غلطیاں ہیں۔ یہاں، ہم C++ پروگرامنگ میں 'پاؤ کے غیر متعینہ حوالہ' کی غلطی پر بات کریں گے۔ کبھی کبھی، یہ ظاہر ہوتا ہے کہ 'پاؤ اس دائرہ کار میں قرار نہیں دیا گیا تھا' اور دونوں کا ایک ہی مطلب ہے۔ یہ خرابی اس وقت ہوتی ہے جب ہم اپنے C++ کوڈ میں ہیڈر فائل شامل نہیں کرتے ہیں یا ہم کوڈ کو صحیح طریقے سے مرتب نہیں کرسکتے ہیں۔ ہم ان ہیڈر فائلوں کو بھی تلاش کریں گے جو ہمارے C++ کوڈ سے اس غلطی کو دور کرنے میں مدد کرتی ہیں۔

C++ میں Pow کے غیر متعینہ حوالہ کو حل کرنا

اس ایرر میسج سے نمٹتے وقت، ہم صرف اپنے کوڈ میں ہیڈر فائل شامل کرتے ہیں جس میں 'pow()' فنکشن کا اعلان کیا جاتا ہے۔ یہ ہمارے کوڈ سے غلطی کو ہٹا دیتا ہے۔ ہیڈر فائلیں جو 'pow()' فنکشن کے لیے استعمال ہوتی ہیں وہ ہیں:

  • #include ہیڈر فائل
  • #include ہیڈر فائل
  • #include ہیڈر فائل

یہاں کچھ کوڈز ہیں جو دکھائیں گے کہ یہ غلطی کیسے ہوتی ہے اور C++ پروگرامنگ میں اس غلطی سے کیسے نمٹا جاتا ہے۔







مثال 1:

اپنی پہلی مثال میں، ہم '#include ' ہیڈر فائل کو شامل کرتے ہیں جو ان پٹ اور آؤٹ پٹ کے کاموں کو انجام دینے میں معاون ہے۔ پھر، ہمیں اس ہیڈر کے بعد 'using namespace std' لکھنا ہوگا۔ اس سے اس الجھن کو روکنے میں مدد ملتی ہے جو ایک ہی نام کی دو IDs سے پیدا ہو سکتی ہے۔



اس کے بعد، ہم یہاں 'int main()' فنکشن کہتے ہیں جو ہمارے C++ کوڈ کے آغاز کی وضاحت کے لیے استعمال ہوتا ہے۔ اب، اس فنکشن میں، ہم 'cout<<' اسٹیٹمنٹ کا استعمال کرتے ہیں جو ڈسپلے اسکرین پر دی گئی معلومات کو پرنٹ کرنے میں مدد کرتا ہے۔ '<< endl' بیان ہمارے پوائنٹر کو نئی لائن میں منتقل کرنے کے لیے استعمال کیا جاتا ہے۔



اس کے بعد، 'pow()' فنکشن استعمال ہوتا ہے جس میں ہمیں دو پیرامیٹرز پاس کرنے ہوتے ہیں: بیس اور ایکسپوننٹ۔ یہاں، ہم '10, 4' کا اضافہ کرتے ہیں جس میں '10' بنیادی نمبر ہے اور '4' ایکسپوننٹ ہے۔ اس کوڈ کے آخر میں، ہم ایک اور بیان داخل کرتے ہیں جو ہے '0 واپسی'۔





کوڈ 1:

# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( ) {
cout << 'پاور فنکشن یہاں استعمال کیا جاتا ہے' ;
cout << endl << endl ;
cout << پاؤ ( 10 ، 4 ) ;
واپسی 0 ;
}

آؤٹ پٹ:
کوڈ کو مکمل کرنے کے بعد، ہمیں اسے مرتب کرکے چلانا ہوگا۔ جب ہم پچھلا کوڈ مرتب کرتے ہیں تو غلطی کا پیغام ظاہر ہوتا ہے جس میں کہا گیا ہے کہ 'پاؤ اس دائرہ کار میں اعلان نہیں کیا گیا تھا'۔ یہ ایرر اس لیے ظاہر ہوتا ہے کیونکہ ہم نے ہیڈر فائل کو شامل نہیں کیا ہے جس میں اس 'pow()' فنکشن کا اعلان کیا گیا ہے۔ اس غلطی کو حل کرنے کے لیے، ہمیں کسی بھی ہیڈر فائل کو داخل کرنا ہوگا جس کا ہم نے پہلے ذکر کیا ہے۔



اب، ہمیں نتیجہ حاصل کرنے کے لیے اس غلطی کو حل کرنے کی ضرورت ہے۔ اس کے لیے ہم نے کوڈ میں تھوڑی بہت تبدیلیاں کی ہیں۔ اسی کوڈ میں، ہم '' ہیڈر فائل کے بعد '#include' ہیڈر فائل شامل کرتے ہیں۔ یہ پچھلے کوڈ کی غلطی کو دور کرنے میں مدد کرتا ہے کیونکہ اس ہیڈر فائل میں 'pow()' فنکشن کا اعلان کیا گیا ہے۔

اپ ڈیٹ کردہ کوڈ 1:

# شامل کریں
#include
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( ) {
cout << 'پاور فنکشن یہاں استعمال کیا جاتا ہے' ;
cout << endl << endl ;
cout << پاؤ ( 10 ، 4 ) ;
واپسی 0 ;
}

آؤٹ پٹ :
یہ اپ ڈیٹ شدہ کوڈ اب مرتب ہو چکا ہے اور کامیابی سے چل رہا ہے، اور ہمیں کوڈ کا آؤٹ پٹ ملتا ہے۔ پچھلے کوڈ کی غلطی کو اب ہٹا دیا گیا ہے اور تالیف کے بعد درج ذیل نتیجہ ظاہر ہوتا ہے:

مثال 2:

یہاں، ہمارے پاس C++ میں ایک اور مثال ہے۔ ' ' اور 'std' کو شامل کرنے کے بعد، اب ہم 'main()' فنکشن کو کہتے ہیں۔ main() کے اندر، ہم 'cout' سٹیٹمنٹ کی مدد سے صرف ایک لائن پرنٹ کرتے ہیں۔ پھر، ہم انٹیجر ڈیٹا ٹائپ کے تین متغیرات کا اعلان کرتے ہیں جس کا نام 'num، exp، اور result' ہے۔ اس کے بعد، ہم '25' کے ساتھ 'num' اور '2' کے ساتھ 'exp' شروع کرتے ہیں۔ 'نتیجہ' متغیر کو 'pow()' فنکشن کے ساتھ شروع کیا جاتا ہے جس میں 'num' اور 'exp' کو اس فنکشن کے دو پیرامیٹرز کے طور پر پاس کیا جاتا ہے۔ اس کے بعد، ہم 'cout' کا استعمال کرتے ہوئے اس طاقت کا نتیجہ ظاہر کرتے ہیں۔

کوڈ 2:

# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( )
{
cout << 'ہم یہاں C++ پروگرامنگ میں ایک نمبر کی طاقت تلاش کر رہے ہیں۔' << endl << endl ;
int ایک پر، exp نتیجہ ;
ایک پر = 25 ;
exp = 2 ;
نتیجہ = پاؤ ( ایک پر، exp ) ;
cout << 'نمبر کی طاقت =' << نتیجہ ;
cout << endl ;
واپسی 0 ;
}

آؤٹ پٹ :
اب، یہ نیا کوڈ پچھلی مثال کی طرح ہی غلطی کا پیغام دکھاتا ہے۔ وجہ یہ ہے کہ یہ بھی وہی ہے کیونکہ ہم نے ہیڈر فائل نہیں ڈالی جس کے ذریعے ہم یہ 'pow()' فنکشن حاصل کر سکتے ہیں۔

اب، ہم ہیڈر فائل کو اپنے کوڈ میں شامل کرتے ہیں جو کہ 'cmath' ہیڈر فائل ہے۔ یہ ہیڈر فائل ہمارے کوڈ کے 'pow()' فنکشن کو حاصل کرنے کے لیے C++ پروگرامنگ میں استعمال ہوتی ہے۔ '#include' ہیڈر فائل کو شامل کرنے کے بعد، ہمیں اپنے کوڈ کا مطلوبہ آؤٹ پٹ ملتا ہے۔

مثال 3:

اب، ہمارے پاس ایک اور مثال ہے۔ یہاں، 'main()' فنکشن کے بعد، ہم '4.5' کے ساتھ 'Long double' ڈیٹا کی قسم کے 'base_num' کا اعلان اور ابتدا کرتے ہیں۔ اس کے بعد، ہم '-2' کے ساتھ 'انٹیجر' ڈیٹا کی قسم کے 'expo_num' کا اعلان اور آغاز کرتے ہیں۔ ہم 'نتیجہ_1' نام کے ایک اور متغیر کا بھی اعلان کرتے ہیں جو 'لمبی ڈبل' ڈیٹا ٹائپ کا ہے۔

اب، ہم 'pow()' فنکشن کا استعمال کرتے ہوئے 'result_1' متغیر کو شروع کرتے ہیں اور 'base_num' اور 'expo_num' کو اس فنکشن میں منتقل کرتے ہیں۔ اس کے بعد، ہم 'cout' کمانڈ کا استعمال کرتے ہوئے نتیجہ پرنٹ کرتے ہیں۔ اب، ہم دو مزید متغیرات کا اعلان کرتے ہیں اور ان کی شروعات کرتے ہیں، 'f_baseNum' اور 'f_expoNum'، 'float' ڈیٹا کی قسم کے ساتھ۔ ہم انہیں بالترتیب '-9.2' اور '5' سے شروع کرتے ہیں۔ پھر، ہم 'نتیجہ_2' کو 'ڈبل' ڈیٹا کی قسم کے طور پر قرار دیتے ہیں۔ اب ہم 'pow()' طریقہ کا استعمال کرتے ہوئے 'result_22' متغیر کو شروع کرتے ہیں، 'f_baseNum' اور 'f_expoNum' میں گزرتے ہیں۔ اگلا، ہم نتیجہ پرنٹ کرنے کے لیے 'cout' کمانڈ استعمال کرتے ہیں۔

کوڈ 3:

# شامل کریں
استعمال کرتے ہوئے نام کی جگہ std ;
int مرکزی ( ) {
طویل دگنا بیس_نمبر = 4.5 ;
int expo_num = - 2 ;
طویل دگنا نتیجہ_1 ;
نتیجہ_1 = پاؤ ( base_num، expo_num ) ;
cout << 'یہاں بیس نمبر لمبی ڈبل میں ہے اور ایکسپو نمبر انٹیجر ٹائپ میں ہے' << endl << endl ;
cout << بیس_نمبر << '^' << expo_num << '=' << نتیجہ_1 << endl << endl ;
تیرنا f_baseNum = - 9.2 , f_expoNum = 5 ;
دگنا نتیجہ_2 ;
نتیجہ_2 = پاؤ ( f_baseNum، f_expoNum ) ;
cout << 'یہاں f_baseNum فلوٹ میں ہے اور f_expoNum ڈبل قسم میں ہے' << endl << endl ;
cout << f_baseNum << '^' << f_expoNum << '=' << نتیجہ_2 ;
واپسی 0 ;
}

آؤٹ پٹ :
اس کوڈ کو مرتب کرنے کے بعد، ہمیں ایک ایرر میسج ملتا ہے جس میں کہا گیا ہے کہ اس دائرہ کار میں پاور فنکشن کا اعلان نہیں کیا گیا تھا۔ اس کا مطلب ہے کہ ہم نے ہیڈر فائل کو کھو دیا جس میں اس فنکشن کا اعلان کیا گیا ہے۔

اب غلطی کو '' ہیڈر فائل کا استعمال کرتے ہوئے حل کیا گیا ہے۔ اس بار، ہم '#include ' ہیڈر فائل استعمال کرتے ہیں کیونکہ یہ ہیڈر فائل اس غلطی کو حل کرنے میں بھی مدد کرتی ہے۔

اسے رکھنے کے بعد، کوڈ کی کامیابی کے ساتھ تعمیل ہو جاتی ہے اور ہمیں اپنے کوڈ کا آؤٹ پٹ ملتا ہے جو یہاں بھی دکھایا گیا ہے۔

ہم ایک اور ہیڈر فائل، ' ' ہیڈر فائل کا استعمال کرتے ہوئے آؤٹ پٹ بھی حاصل کر سکتے ہیں۔ ہم اس ہیڈر فائل کی مدد سے اپنے پروگرامنگ میں تمام معیاری لائبریریوں کا استعمال کرتے ہیں۔

' ' کو شامل کرنے کے بعد، ہمیں مطلوبہ آؤٹ پٹ ملتا ہے کیونکہ 'bits/stdc++.h>' ہر معیاری لائبریری پر مشتمل ہوتا ہے۔ لہذا، اس لائبریری کو ہمارے کوڈ میں شامل کرنے کے بعد اب غلطی کو دور کر دیا گیا ہے، اور آؤٹ پٹ کا نتیجہ یہاں دکھایا گیا ہے۔

نتیجہ

اس مضمون میں، C++ پروگرامنگ میں 'پاؤ کا غیر متعینہ حوالہ' یا 'پاؤ کو اس دائرہ کار میں قرار نہیں دیا گیا' کی غلطی پر بھی تفصیل سے بات کی گئی ہے۔ ہم نے ان طریقوں یا ہیڈر فائلوں کو بھی دریافت کیا جو کامیاب کوڈ تالیف کے لیے غلطی کو دور کرنے میں مدد کرتے ہیں۔ ہم نے ان مثالوں کا مظاہرہ کیا جس میں ہم نے غلطی کا پیغام اور اس غلطی کے پیغام کو ہٹانے کے بعد کوڈ کا نتیجہ دکھایا۔