Why are recursive main() calls not allowed in C++? -


संभावित डुप्लिकेट:

मैंने C ++ प्राइमर में पढ़ा है कि मुख्य को पुनरावर्तक कहा जाने की अनुमति नहीं है, और यहां पर कुछ संबंधित प्रश्नों में यह वास्तव में पुष्टि की जाती है कि यह अवैध है

लेकिन यह क्यों अवैध है? जब तक आप एक स्टैक अतिप्रवाह से बचते हैं, तो अपने भीतर मुख्य कॉल करने में समस्या क्या है?

खैर, मानक कहा गया है:

3.6.1.3 "फ़ंक्शन मुख्य का उपयोग किसी प्रोग्राम में नहीं किया जाएगा।"

5.2.2.9 "को छोड़कर पुनरावर्ती कॉल की अनुमति है मुख्य नाम के फ़ंक्शन को "

मुझे लगता है कि यह मुख्य कारण है () प्रोग्राम के लिए प्रवेश बिंदु के रूप में उपयोग किया जाने वाला विशेष फ़ंक्शन है। मैं कहूंगा कि इसे विशेष रखना, इसे सामान्य फ़ंक्शन के स्तर पर न लें, क्योंकि यह नहीं है।

Comments