सी में, क्लास डेटा सदस्यों को डायरेक्ट इनिशियलाइज़ेशन सिंटैक्स का उपयोग करके इनिशियलाइज़ नहीं किया जा सकता है, (), जैसा कि निम्नलिखित उदाहरण में देखा गया है :
#includeclass test { public: void fun() { int a(3); std::cout संकलन त्रुटियों के साथ विफल रहता है:
11 9 [Error] expected identifier before numeric constant 11 9 [Error] expected ',' or '...' before numeric constantइस अस्पष्ट उदाहरण पर विचार करें:
struct S { int i(x); // इनिशियलाइज़र के साथ डेटा सदस्य या... //... स्थिर पूर्णांक x; int i(y); // सदस्य फ़ंक्शन घोषणा //... टाइपडेफ़ int y; };
मानक एक समाधान प्रस्तावित करता है:
struct S { int i(x); // data member with initializer or... // ... static int x; int i(y); // member function declaration // ... typedef int y; };= इनिशियलाइज़र-क्लॉज
{ इनिशियलाइज़र-लिस्ट }यह रिज़ॉल्यूशन स्पष्टता सुनिश्चित करता है और उन मामलों में गलतफहमी की संभावना से बचाता है जहां एक घोषणा एक ऑब्जेक्ट और एक फ़ंक्शन दोनों के समान हो सकती है घोषणा।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3