पर आभासी desctructor मैंशुद्ध सार आधार वर्ग
struct IMyInterface
{
virtual method1() = 0;
virtual method2() = 0;
};
जीसीसी का कहना है कि मैं
struct IMyInterface
{
virtual method1() = 0;
virtual method2() = 0;
virtual ~IMyInterface(){};
};
मैं देख रहा हूँ क्यों न होता है। इंटरफ़ेस (डुह) के बारे में एक शुद्ध इंटरफ़ेस है। विनाशक इंटरफ़ेस के ठोस कार्यान्वयन के आंतरिक कार्यान्वयन विवरण का हिस्सा है; यह इंटरफ़ेस का हिस्सा नहीं बनता है। मैं पूरी स्लाइसिंग समस्या को समझता हूं (या कम से कम मुझे लगता है कि मैं करता हूं)
तो मेरा सवाल यह है कि - क्या जीसीसी इस पर जोर देने का अधिकार है और यदि ऐसा है तो क्यों?
आप विनाशकों के बारे में बात कर रहे हैं, लेकिन आपका कोड एक निर्माता दिखाता है। किस बारे में सवाल है? –
@mmyers, इसे ठीक किया गया। प्रोग्रामिंग के –
नियम 1: कंपाइलर हमेशा सही है। प्रोग्रामिंग का नियम 2: यदि कंपाइलर गलत है, नियम 1 लागू होता है। –