'-'후위 연산자를 오버로드하려고합니다. 이 코드를 가지고 : 다음 main
에 나는이 함수 호출이 C++ 오버로드 '-'후위 연산자
class Counter
{
private:
int count;
public:
Counter()
{ count = 0; }
Counter(int c)
{ count = c; }
void setCount(int c)
{ count = c; }
int getCount()
{ return count; }
int operator--()
{
int temp = count;
count = count - 1;
return temp;
}
};
:
Counter a;
a.setCount(5);
cout << a-- << endl;
이 나에게이 오류 제공 : error: no ‘operator--(int)’ declared for postfix ‘--’, trying prefix operator instead
을하지만이 같은 operator--
함수를 호출 할 때, 그것은 단지 잘 작동합니다 :
cout << a.operator--() << endl;
무엇을 제공합니까? 잘 작동해야합니다.
때문에'a.operator -()'--a''에 해당합니다. – chris