से बहुत ही सरल प्रश्न। क्या यह मान्य सी ++ 11 है?गैर-स्थैतिक सदस्य प्रारंभकर्ता अन्य गैर-स्थिर
struct Foo {
int bar = 1;
int baz = bar;
};
जीसीसी (4.7.2) और बजना (3.1) दोनों पंडिताऊ सेटिंग्स के साथ यह स्वीकार करते हैं:
-std=c++11 -Wall -W -pedantic
इंटेल सी ++ (13.0.1.117) नहीं करता है।
error: a nonstatic member reference must be relative to a specific object
कौन सही है: यह साथ int baz = bar;
पर भौंकता?
मामले में आप आश्चर्य है, मैं इस तरह कोड है, जहां यह प्रवर्तन कोड लाता है एक साथ करीब है, बल्कि निर्माता में अंतिम पंक्ति चलती से के लिए इस का उपयोग करें:
uint8_t colorR = -1;
uint8_t colorG = -1;
uint8_t colorB = -1;
uint8_t colorA = -1;
GLubyte RGBAVec[4] = {colorR, colorG, colorB, colorA};
धन्यवाद। यह निश्चित दिखता है। हालांकि "उस वर्ग से प्राप्त कक्षा के" के साथ क्या मतलब है? व्युत्पन्न वर्ग के सदस्य के साथ सदस्य को प्रारंभ करना कैसे संभव है? व्युत्पन्न वर्ग अभी तक घोषित नहीं किया गया है, इसलिए इसे एक्सेस करना संभव नहीं है। –
@ निकोस सी "या उस वर्ग से व्युत्पन्न कक्षा का" एक "ब्रेस-या-बराबर-प्रारंभकर्ता" को संदर्भित करता है जिसका अर्थ है कि प्रारंभकर्ता एक घिरा हुआ वर्ग में होता है। असल में मुझे लगता है कि इसका मतलब है कि आप अपने माता-पिता वर्गों के गैर स्थैतिक डेटा सदस्य के साथ गैर स्थैतिक डेटा सदस्यों को प्रारंभ कर सकते हैं। यह एक अन्य तरीका है जिसे आप समझते हैं, जो अधिक समझ में आता है :) – Drax