class에 ++연산자를 사용하고 싶어서
연산자 재정의 할 때
class CList{
public:
int CList_Data;
}
void operator ++(){
CList_Data += 1;
}
이렇게 헤더에 정의해 놨어.
그리고 cpp 파일에서 사용할 때
CList++ 하면 오류뜨고
++CList 하면 오류 안뜨는데
이유가 도대체 머임;;
class에 ++연산자를 사용하고 싶어서
연산자 재정의 할 때
class CList{
public:
int CList_Data;
}
void operator ++(){
CList_Data += 1;
}
이렇게 헤더에 정의해 놨어.
그리고 cpp 파일에서 사용할 때
CList++ 하면 오류뜨고
++CList 하면 오류 안뜨는데
이유가 도대체 머임;;
void operator ++(int)도 정의하십시오
인자 int가 있으면 후위 없으면 전위인 것입니다
그리고 T& operator ++()가 국룰입니다 가능하다면 참조를 반환하십시오
인자가 있으면 후위라는 뜻이 오버로딩을 제대로 안해서 일어나는 오류라는 뜻이죠? 감사합니다... 그걸 템플릿 레퍼런스로 받으면 다 해결된다는 말이고... 제가 이해한게 맞나여
https://docs.microsoft.com/ko-kr/cpp/cpp/increment-and-decrement-operator-overloading-cpp?view=msvc-160
한
개만 정의하면 안 된다
감사함다
두개가 다른거임
용도를 다르게 쓰지 않다보니 같은건줄 착각하고 있었네요