मैं operator==
ओवरलोड कोशिश कर रहा हूँ 'ठीक एक तर्क ले लेना चाहिए, लेकिन संकलक निम्न त्रुटि फेंक है:ओवरलोडिंग ऑपरेटर == की शिकायत
‘bool Rationalnumber::operator==(Rationalnumber, Rationalnumber)’ must take exactly one argument
मेरे कोड के छोटे से टुकड़े इस प्रकार है:
bool Rationalnumber::operator==(Rationalnumber l, Rationalnumber r) {
return l.numerator() * r.denominator() == l.denominator() * r.numerator();
}
घोषणा:
bool operator==(Rationalnumber l, Rationalnumber r);
किसी को भी किसी भी विचार क्यों यह टी फेंक रहा है है वह त्रुटि?
इससे मदद मिल सकती है: http://stackoverflow.com/questions/4421706/operator-overloading। चूंकि आपका कोई सदस्य है, हालांकि, यह पहले से ही छिपी हुई 'इस' तर्क के माध्यम से बाईं ओर आ रहा है। – chris
आपको एक ar के साथ सदस्य फ़ंक्शन को परिभाषित करना होगा दो तर्कों के साथ स्मारक या फ़ाइल स्कोप फ़ंक्शन। – harper
क्या यह सदस्य फ़ंक्शन या नि: शुल्क स्थायी कार्य है? –