к примеру есть
class complex
{
....
complex operator-() {...};
complex operator -(complex &B){...};
}
почему на этом компилятор ругается на
((complex)complex(1,1)-(complex)complex(1,-1))+complex(1,1)
main.cc:52: error: no match for ‘operator-’ in ‘complex(1.0e+0, 1.0e+0) - complex(1.0e+0, -1.0e+0)’
main.cc:29: note: candidates are: complex complex::operator-()
main.cc:36: note: complex complex::operator-(complex&)
class complex
{
....
complex operator-() {...};
complex operator -(complex B){...};
}