मैं दो compilers पर परीक्षण किया है, और दोनों का समर्थन देखने के लिए परिभाषा बिना किसी शिकायत के निम्नलिखित आश्चर्य हुआ।संकलक द्वारा समर्थित अनावश्यक दायरे योग्यता क्यों हैं, और क्या यह कानूनी है? हालांकि यह जब घोषणा से अधिक योग्य है ध्वजांकित है</p> <pre><code>class A { A(); }; A::A::A() {} ^^^ </code></pre> <p>ध्यान दें कि यह भी तरीकों के लिए सफल होता है,:
सवाल:
- यह एक वैध सी ++ प्रोग्राम है?
- यदि हां, तो यह किस उद्देश्य से कार्य करता है - या यह केवल एक उपज है?
अपडेट किया गया विवरण:
मामले में मूल प्रश्न स्पष्ट या छोटा नहीं था: मैं उत्सुक हूँ क्यों बेमानी योग्यता परिभाषा (जोर भी ऊपर जोड़ा) पर अनुमति दी जाती है।
बजना एक एप्पल के जीसीसी 4.2 + LLVM compilers
यह पूछा गया है, लेकिन मुझे लगता है कि कुछ लोगों की तुलना में यह एक कठिन डुप्ली है। – chris
@ क्रिसिस मैंने कुछ पृष्ठों को देखा, लेकिन कुछ भी नहीं मिला - अगर डुप्लिकेट स्थित है तो बंद करने में खुशी होगी। शायद मैंने उचित शर्तों का उपयोग नहीं किया। – justin
यह * हो सकता है * सहायता: http://stackoverflow.com/questions/11423380/why-are-redundant-class-name-qualifiers- – chris