c++ - GCC template issues -
संभव डुप्लिकेट:
यह कोड जीसीसी में संकलित नहीं करता है:
टेम्पलेट & lt; typename T & gt; Struct बेस {सार्वजनिक: int x; }; टेम्पलेट & lt; typename B & gt; संरचना मध्य: सार्वजनिक बी {}; टेम्पलेट & lt; typename T & gt; संरचना उप: सार्वजनिक मध्य & lt; बेस & lt; T & gt; & Gt; {सार्वजनिक: शून्य एफ () {x = 1; // त्रुटि: इस क्षेत्र में 'एक्स' घोषित नहीं किया गया}};
यदि या तो बेस
या उप
टेम्प्लेट क्लास नहीं थे, तो यह शिकायत नहीं करेगा। वीसी इसे संभालता है।
क्यों?
का प्रयोग करें this-> X = 1;
संकलक को यह बताने के लिए कि x
एक (टेम्पलेट-) निर्भर नाम है। ध्यान दें : मानक के अनुसार जीसीसी क्या करता है, एमएसवीसी सिर्फ थोड़ी अधिक सहिष्णु है।
Comments
Post a Comment