خرابی: C++ میں COUT غیر اعلانیہ

Khraby C My Cout Ghyr A Lany



یہ مضمون ایک غلطی کے بارے میں ہے جو C++ زبان میں پروگرامنگ کے دوران پیش آتی ہے۔ یہ ایرر 'Undefined COUT' یا 'Undeclared COUT' ہے، C++ زبان کے ورژن یا آپ کے کمپائلر کی قسم پر منحصر ہے۔ اس غلطی کو بہتر طور پر سمجھنے کے لیے، آئیے پہلے C++ زبان میں کلیدی لفظ 'cout' کے مقصد کا تعین کرتے ہیں اور یہ کب اور کہاں استعمال ہوتا ہے۔ 'Cout' C++ زبان میں ایک کلیدی لفظ ہے، جو کنسول ونڈو میں ہمارے کوڈ کے آؤٹ پٹ کو پرنٹ یا ڈسپلے کرنے کے لیے استعمال ہوتا ہے، جیسے کہ 'printl' اور 'printf' دوسری زبانوں جیسے C اور JAVA میں۔

'Cout' کا استعمال کرتے ہوئے ڈیٹا کو ظاہر کرنے کے لیے، ہم جس ڈیٹا کو پرنٹ کرنا چاہتے ہیں اسے ایک معیاری آؤٹ پٹ سٹرنگ یا سٹریم میں کم سے کم دو بار (<<) کا استعمال کرتے ہوئے رکھا جاتا ہے، جسے C++ زبان میں insert آپریٹر کہا جاتا ہے۔ مثال کے طور پر، اگر کوئی اپنے کوڈ کے ذریعے جملہ 'Hello World' پرنٹ کرنا چاہتا ہے۔ ہمیں 'cout<<'Hello World'<







نحو

اس غلطی کے لیے مرتب کرنے والے کے ذریعے پھینکا گیا پیغام ذیل میں فراہم کیا گیا ہے:



غلطی: اس دائرہ کار میں 'cout' کا اعلان نہیں کیا گیا تھا۔

یہ ایک غلطی ہے، اس لیے اس میں نحو نہیں ہے۔ اس میں ایک پیغام ہے جو ہم نے آپ کو اوپر دکھایا ہے۔



مثال نمبر 01

اب، ہم یہ جانچنے کے لیے مثالیں پیش کریں گے کہ آیا یہ غلطی صرف اسی وجہ سے ہوتی ہے یا اگر یہ کسی اور وجہ سے ہوتی ہے۔ اس مثال میں، ہم کلیدی لفظ 'cout' کا استعمال کرتے ہوئے ایک سٹرنگ ویلیو پرنٹ کرنے کی کوشش کریں گے اور دیکھیں گے کہ کیا ہوتا ہے۔ اس مقصد کے لیے، ہم نے صرف 'cout' ٹائپ کیا ہے اور 'cout' کے بعد ہم نے اندراج آپریٹرز رکھا ہے، یعنی '<<'۔ انسرشن آپریٹرز کے بعد، ہم نے اپنی سٹرنگ کو ڈبل کوٹس میں رکھا، اپنی کمانڈ کو کلیدی لفظ 'endl' کے ساتھ ختم کیا۔ ہم پہلے ہی اپنے تعارف میں 'اینڈل' کے مقصد پر بات کر چکے ہیں- اس لیے یہاں اس پر دوبارہ بحث کرنے کی ضرورت نہیں۔





آخر میں، ہم نے 0 واپس کر دیا ہے۔ کیونکہ ہمارے بنیادی طریقہ میں واپسی کی قسم کا عدد ہے۔ اب، ہم اپنے کوڈ پر عمل کریں گے اور دیکھیں گے کہ کیا ہوتا ہے۔



ہمارا کوڈ کامیابی کے ساتھ انجام دینے میں ناکام رہا ہے اور اس نے ایک غلطی کی ہے۔ آئیے ایرر کو غور سے پڑھیں اور دیکھتے ہیں کہ کمپائلر نے کس لائن پر ایرر دکھایا ہے اور ایرر کیا ہے۔ بدقسمتی سے، مرتب کرنے والے نے کوئی لائن نمبر نہیں دکھایا، لیکن اگر ہم غلطی کا پیغام دیکھتے ہیں، تو یہ وہی ہے جس پر ہم یہاں بات کر رہے ہیں۔ اس کا مطلب ہے کہ ہم اپنے غلطی کے پیغام کی وجہ جانتے ہیں۔ اب، ہم غلطی کو دور کریں گے.

غلطی کو دور کرنے کے لیے، ہم نے اپنے کوڈ کے اوپر ایک ہیڈر فائل، iostream، رکھی ہے۔ اب، ہم اپنے کوڈ پر دوبارہ عمل کریں گے اور دیکھیں گے کہ آیا یہ ہماری غلطی کو دور کرتا ہے یا نہیں۔ اپنے کوڈ کے شروع میں ہیڈر فائل یا لائبریری رکھنے کے بعد، ہم غلطی کو ختم کر سکتے ہیں۔ لہذا صرف فائل کو اپنے ہیڈر کے طور پر رکھ کر، ہم نے غلطی کو دور کر دیا ہے۔

مثال نمبر 02

اس مثال میں، ہم نے اپنی ہیڈر فائل رکھی ہے اور اپنا کوڈ لکھنے کی کوشش کی ہے تاکہ اس سے ہمیں غلطیاں نہ ہوں۔ ایسا کرنے کے لیے، اپنے مین فنکشن میں، ہم نے دو حروف کا اعلان کیا ہے، 'a' اور 'b'۔ ہم نے 'ہیلو' کو 'a' سے اور 'دنیا' کو کریکٹر 'b' سے گزار دیا ہے۔ اس کے بعد، لائن 5 اور 6 میں، ہم نے اپنے cout کلیدی لفظ کا استعمال کرتے ہوئے 'a' اور b کی قدریں پرنٹ کی ہیں۔ اور آخر میں، ہم نے 0 لوٹا ہے کیونکہ ہمارا مرکزی فنکشن عددی قسم کا ہے۔ اس کوڈ میں، ہم نے اپنی iostream ہیڈر لائبریری بھی درآمد کی ہے۔ اگر ہمیں غلطی کا سامنا کرنا پڑتا ہے۔ اب، اس کی نظر سے، ہم کہہ سکتے ہیں کہ ہمارا کوڈ مکمل ہے، کوئی غلطی نہیں کرے گا، اور کامیابی سے مرتب کرے گا۔ آئیے اپنے کوڈ کو دیکھنے کی کوشش کریں اور اس پر عمل کریں۔

# شامل کریں

int مرکزی ( )

{

چار * a = 'ہیلو' ;
چار * ب = 'دنیا' ;
cout << a << endl ;
cout << ب << endl ;
واپسی 0 ;


}

مرتب کرنے والے نے ایک بار پھر وہی غلطی پھینک دی ہے۔ لیکن سوال یہ پیدا ہوتا ہے کہ اگر ہم نے اپنے ہیڈر میں درآمد کیا ہے، تو پھر ہمیں اسی خامی کا سامنا کیوں کرنا پڑا؟ جواب غلطی میں ہے۔ اگر ہم غلطی کو غور سے پڑھتے ہیں تو، ایک اور پیغام منسلک ہوتا ہے جس میں لکھا ہے، 'کیا آپ کا مطلب 'std::cout' تھا؟'۔ اس کا مطلب ہے کہ ہم ابھی بھی اپنے کوڈ میں کچھ کھو رہے ہیں۔

خرابی کو دور کرنے کے لیے، ہم نے 'نیم اسپیس std کا استعمال کرتے ہوئے؛' رکھا۔ ہماری ہیڈر فائل کے بعد۔ اب، ہم یہ دیکھنے کے لیے اپنے کوڈ پر عمل کریں گے کہ آیا ہم نے اپنی غلطی کو حل کر لیا ہے۔

ہم نے کامیابی کے ساتھ ہیڈر کے بعد 'نیم اسپیس std' لگا کر اپنا آؤٹ پٹ حاصل کیا ہے۔ ہمیں توقع کے مطابق اپنی پیداوار ملی ہے۔ ہم نے پہلے 'a' کی ویلیو پرنٹ کی، جو کہ 'Hello' تھی، اور اس کے بعد، ہم نے کریکٹر b کی ویلیو پرنٹ کی، جو کہ 'ورلڈ' تھی۔ آؤٹ پٹ امیج میں، ہم دیکھ سکتے ہیں کہ ہم مطلوبہ آؤٹ پٹ حاصل کرنے میں کامیاب رہے ہیں۔ اب، غلطی کی وجہ پر بات کرتے ہیں۔ ایک 'cout' کلیدی لفظ 'iostream.h' لائبریری کا ایک پہلے سے طے شدہ آبجیکٹ ہے جو معیاری آؤٹ پٹ ڈیوائسز پر اقدار کو ظاہر کرتا ہے۔ اگر ہم لینکس پر مبنی C++ کمپائلر میں پروگرام لکھ رہے ہیں، تو ہمیں اپنے پروگرام میں اپنی قدر کو 'cout' کرنے کے لیے 'std' نام کی جگہ کی ضرورت ہے۔

نتیجہ

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