एक बार, कई चंद्रमाओं से पहले, वीएस 6 मौजूद था और लोकप्रिय था। यह हालांकि C ++ मानकों की संख्या के अनुरूप विफल रहा; जो उस समय उचित था, क्योंकि यह उसी वर्ष (ठीक उसी वर्ष) से पहले जारी किया गया था, जो आधिकारिक तौर पर जारी किया गया था; हालाँकि इसने मानक के मसौदे का पालन किया जहाँ तक मैं जागरूक हूँ।
ड्राफ्ट और आधिकारिक मानक के बीच परिवर्तित होने वाले मानकों में से एक, पहले खंड में निर्मित लूप चर के लिए जीवनकाल था; संकलन के लिए निम्नलिखित कोड के लिए अग्रणी
{
for (int i=0; i<1; ++i){}
for (int i=0; i<2; ++i){}
}
क्योंकि i
लूप के लिए दूसरे द्वारा पुनर्परिभाषित किया गया था।
जबकि अन्य कंपाइलरों को भी इस बग का सामना करना पड़ा; मैं वीएस 6 एक को उजागर करता हूं क्योंकि यह मानक जारी होने के बाद कई वर्षों तक दृश्य स्टूडियो का एकमात्र संस्करण रहा, लेकिन इस विशेष मुद्दे के लिए कभी भी अपडेट जारी नहीं किया; इसका अर्थ है कि इसका अधिक महत्वपूर्ण प्रभाव पड़ा।
इसका एक समाधान यह है कि आप लूप के लिए पूरे को अपने दायरे में मजबूर करें, जैसा आपने दिखाया है।