मुझे सी ++ के सीखने में एक समस्या आई है, जहां स्थानीय चर में एक स्थानीय चर को एक दूसरे नाम में उसी नाम के साथ पारित किया जा रहा है, ये दोनों कार्य मुख्य में चलते हैं()।स्थानीय वैरिएबल को पास किया जा रहा है (सी ++)
जब ऐसा चलाया जाता है,
#include <iostream>
using namespace std;
void next();
void again();
int main()
{
int a = 2;
cout << a << endl;
next();
again();
return 0;
}
void next()
{
int a = 5;
cout << a << endl;
}
void again()
{
int a;
cout << a << endl;
}
यह आउटपुट:
2
5
5
मुझे लगता है कि फिर से उम्मीद() अशक्त या 0 के बाद से 'एक' वहाँ फिर से घोषित किया जाता है कह सकते हैं कि, और अभी तक ऐसा लगता है उस मान का उपयोग करने के लिए जो 'ए' को अगले() में असाइन किया गया था।
अगला() स्थानीय चर 'ए' के मान को फिर से() फिर से क्यों पास करता है यदि) 'ए' को फिर से एक बार घोषित किया जाता है()?
कुछ भी पास नहीं हुआ। 'ए' में फिर से() 'प्रारंभ नहीं किया गया था, कोई भी मूल्य संभव है। – songyuanyao
सहमत हैं इसलिए 'ए' का मान अपरिभाषित व्यवहार है। – drescherjm