सी में, कंस्ट्रक्टर का उपयोग किसी क्लास के ऑब्जेक्ट को इनिशियलाइज़ करने के लिए किया जाता है। हालाँकि, दिए गए कोड स्निपेट में, कंस्ट्रक्टर को लागू नहीं किया जा रहा है, जिसके परिणामस्वरूप अप्रत्याशित व्यवहार हो रहा है।
समस्याग्रस्त पंक्ति:
Class object();
वास्तव में क्लास क्लास के लिए कंस्ट्रक्टर को आमंत्रित नहीं करता है। इसके बजाय, यह क्लास ऑब्जेक्ट लौटाने वाले फ़ंक्शन की घोषणा करता है। कंस्ट्रक्टर को सही ढंग से कॉल करने और ऑब्जेक्ट बनाने के लिए, पंक्ति में एक अर्धविराम (;) जोड़ा जाना चाहिए:
Class object;
प्रारंभिक कोड स्निपेट सी में "सबसे कष्टप्रद पार्स" के रूप में जाने जाने वाले मुद्दे पर प्रकाश डालता है। पंक्ति का सामना करते समय:
Class object();
सी पार्सर अस्पष्ट रूप से इसे फ़ंक्शन घोषणा या खाली तर्क सूची के साथ फ़ंक्शन कॉल के रूप में व्याख्या करता है। यह अस्पष्टता अक्सर भ्रम और अप्रत्याशित परिणामों की ओर ले जाती है। iostream> नेमस्पेस एसटीडी का उपयोग करना; कक्षा कक्षा { कक्षा() { cout
डिफ़ॉल्ट कंस्ट्रक्टर कहा जाता है विध्वंसक को बुलाया गया
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3