मान लीजिए मैं एक वर्गनिर्माता
class C {
C(int a=10);
};
क्यों अगर मैं
C c;
contructor C(int =10)
कहा जाता है फोन और अगर मैं फोन
C c();
डिफ़ॉल्ट निर्माता कहा जाता है? इससे कैसे बचें? मैं केवल अपने कन्स्ट्रक्टर को निष्पादित करना चाहता हूं, मैंने डिफ़ॉल्ट कन्स्ट्रक्टर को निजी बनाने की कोशिश की, लेकिन यह काम नहीं करता है।
के लिए उचित कन्स्ट्रक्टर ट्रिगर करेगा, जो हमें आपके कोड के एक संकलित टुकड़े प्रदान करते हैं जो हमें वह व्यवहार दिखाता है जो आप मानते हैं कि आप देख रहे हैं? जैसा कि आप अब तक उत्तरों से देख सकते हैं, आप जो वर्णन करते हैं वह यह नहीं है कि कोड क्या करना चाहिए। – sbi
बस एक एफवाईआई के रूप में, एमएसवीसी (कम से कम वीएस2003) इस समस्या के बारे में चेतावनी प्रदान करेगा: 'चेतावनी C4930:' सी सी (शून्य) ': प्रोटोटाइप फ़ंक्शन नहीं कहा जाता है (एक परिवर्तनीय परिभाषा थी?)' मैं अन्य कंपाइलर्स को जानता हूं साथ ही, लेकिन इस समय मैं आसानी से उपलब्ध नहीं हूं। –