एक answer में निम्न कोड था:अंदर fstream को परिभाषित करना एक 'अगर' सशर्त
if (std::ifstream input("input_file.txt"))
;
कौन सा सुविधाजनक लगता है, जहां यह पुष्टि की है करने के लिए 'इनपुट' चर के दायरे को सीमित वैध होने के लिए, लेकिन न तो वीएस2015 और न ही जी ++ इसे संकलित करने लगता है। क्या यह कुछ कंपाइलर विशिष्ट चीज है या क्या इसे कुछ अतिरिक्त झंडे की आवश्यकता है?
VS2015 में आईडीई पर प्रकाश डाला "std :: ifstream" और "input_file.txt" साथ ही पिछले कोष्ठकों। "std :: ifstream" को ध्वजांकित किया गया है "त्रुटि: यहां फ़ंक्शन प्रकार की अनुमति नहीं है"।
VS2015 सी ++ संकलक त्रुटियों निम्नलिखित देता है:
- C4430 लापता प्रकार निर्दिष्टकर्ता - ग्रहण इंट। नोट: सी ++ डिफ़ॉल्ट-पूर्णांक
- C2059 सिंटैक्स त्रुटि का समर्थन नहीं करता। '('
आप * * * स्थिति * में एक चर * सी ++ 03 पर वापस कर सकते हैं। यह सिर्फ इतना है कि प्रारंभिक रूप का रूप सीमित है। –
@FredLarson Answr अपडेट किया गया। मेरे पास यह गलत था। सी ++ 98/03 में वापस आप एक चर घोषित कर सकते हैं। – NathanOliver
@NathanOliver क्या यह 'इनपुट' के दायरे को भी सीमित नहीं करता है? या यह सिर्फ चीनी है? – user3358771