Understand the overload of operators in detail
Kind time twenty-four hours! I ask for help from the society. As we say, I stepped on the same rake again. As well, "call of overloaded 'Rozklady_na_tsili_kvadraty(const Rozklady_na_tsili_kvadraty&)' is ambiguous |
, here all clear, the second variant has more parameters, than it is necessary. Something I do not understand really. Excuse for dullness.
Code:
Rozklady_na_tsili_kvadraty &operator= ( const Rozklady_na_tsili_kvadraty &ob )
{
Rozklady_na_tsili_kvadraty tymtsasovyj_ob(ob);
return tymtsasovyj_ob;
}
Code:
||=== Build: Debug in mn (compiler: GNU GCC Compiler) ===|
G:\HeloWorld\mn\mn.cpp||In member function 'Rozklady_na_tsili_kvadraty& Rozklady_na_tsili_kvadraty::operator=(const Rozklady_na_tsili_kvadraty&)':|
G:\HeloWorld\mn\mn.cpp|49|error: call of overloaded 'Rozklady_na_tsili_kvadraty(const Rozklady_na_tsili_kvadraty&)' is ambiguous|
G:\HeloWorld\mn\mn.cpp|41|note: candidate: Rozklady_na_tsili_kvadraty::Rozklady_na_tsili_kvadraty(const Rozklady_na_tsili_kvadraty&)|
G:\HeloWorld\mn\mn.cpp|35|note: candidate: Rozklady_na_tsili_kvadraty::Rozklady_na_tsili_kvadraty(const Rozklady_na_tsili_kvadraty&, int)|
G:\HeloWorld\mn\mn.cpp|49|warning: reference to local variable 'tymtsasovyj_ob' returned [-Wreturn-local-addr]|
G:\HeloWorld\mn\mn.cpp||In member function 'Rozklady_na_tsili_kvadraty& Rozklady_na_tsili_kvadraty::operator+(int)':|
G:\HeloWorld\mn\mn.cpp|55|warning: reference to local variable 'tymtsasovyj_ob' returned [-Wreturn-local-addr]|
G:\HeloWorld\mn\mn.cpp||In member function 'int Rozklady_na_tsili_kvadraty::rozdrukuj_chysla()':|
G:\HeloWorld\mn\mn.cpp|67|warning: no return statement in function returning non-void [-Wreturn-type]|
G:\HeloWorld\mn\mn.cpp||In function 'int main()':|
G:\HeloWorld\mn\mn.cpp|83|error: no match for 'operator+=' (operand types are 'Rozklady_na_tsili_kvadraty' and 'int')|
||=== Build failed: 2 error(s), 3 warning(s) (0 minute(s), 1 second(s)) ===|