c++ - It says "No matching constructor for initialization of 'Fraction' -
। सीपीपी
// // calculator.cpp // # इसमें शामिल "अंश" ज "# शामिल है & lt; iostream & gt; # से & lt में शामिल हैं, stdexcept & gt; नेमस्पेस एसटीडी का उपयोग करना; Int main () {अंश x, y; // त्रुटि यहाँ सही है यह कहते हैं, '' फ्रेक्चर 'चार ऑप्शन के आरम्भिकरण के लिए कोई मेल कन्स्ट्रक्टर नहीं है, प्रयास करें (cin & gt; & gt; x; cin & gt; & gt; ऑप; जबकि (cin & amp; amp; (op ==' + '|| op == '-')) {cin & gt; y; if (op == '+') x = x + y; और x = x - y; cin> gt; & gt; सेशन;} cout & lt; & lt; x & lt ; & Lt; endl;} पकड़ (अवैध_आगर्म & amp; ए) {cout & lt; & lt; "त्रुटि:" & lt; & lt; e.what () & lt; & lt; endl;}}
एचटीएमएलएक्स (एफटीएनएलबी) और एसटीडीएलआईबी (एफटीएक्स) में शामिल हैं। एक्सचेंज क्लास डिफेंस क्लास फ्रेक्शन {सार्वजनिक: फ्रैक्चर (इंट ए, इंट बी); इंट फ्रैक्चर Int a, int b) शून्य सेट (int, int); int get_numerator (शून्य); int get_devenator (शून्य); int find_gcd (int n1, int n2); शून्य कम_अभिव्यन (int nump, int denomp); आयन & amp; ऑपरेटर + (कंट फ्रेक्चर एंड एन); अंश में & amp; ऑपरेटर- (क्रास फ्रेक्चर एंड एन); मित्र std :: ostream & amp; ऑपरेटर & lt; & lt; (std :: ostream & amp; os, const फ्रेक्चर & amp; एन); दोस्त std :: istream & amp; ऑपरेटर & gt; & gt; (std :: istream & amp; है, अंश और amp; एन); अंश में & amp; ऑपरेटर = (संदंश और एन); इंट डिनोम; Int numera; निजी: पूर्णांक अंश; इंट डेनिमेटर; Int denomp; Int nump; }; # सीडीपी फ़ाइल की पहली पंक्ति पर 'अंश' के आरम्भिकरण के लिए कोई मेल नहीं खाए गए कंस्ट्रक्टर कहते हैं, मुझे इसका अर्थ नहीं समझता।
समस्या यह है कि आपका फ्रेक्चर कंस्ट्रक्टर 2 तर्क लेता है।
अंश (int a, int b) ;
और आप इसे किसी के साथ प्रयोग नहीं कर रहे हैं
अंश x, y; // त्रुटि यहाँ सही है। यह कहते हैं, "आरम्भ करने के लिए कोई मिलान निर्माता नहीं है 'फ्रेक्शन'
आपको या तो एक्स और वाई को 2 इंट पैरामीटर के साथ जोड़ना चाहिए या किसी अन्य कन्स्ट्रक्टर को परिभाषित करना चाहिए जो कोई तर्क नहीं लेता है।
Comments
Post a Comment