컴파일 에러 C2662
'this' 포인터를 'const XXXX'에서 'XXXX &'(으)로 변환할 수 없습니다.
http://simplesolace.tistory.com/entry/const-%EB%A9%A4%EB%B2%84-%ED%95%A8%EC%88%98
대입 생성자에서 넘겨받은 레퍼런스의 멤버 함수를 호출했더니 const 함수에서는 일반 함수를 호출할 수 없다나 뭐래나...
http://comfun.tistory.com/entry/error-C2662-PointGetY-this-%ED%8F%AC%EC%9D%B8%ED%84%B0%EB%A5%BC-const-Point%EC%97%90%EC%84%9C-Point-%EC%9C%BC%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%A0-%EC%88%98-%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4
그래서 호출한 함수를 const 함수로 변경하니 잘 된다...
대입 생성자
SomeClass &SomeClass ::operator = (const SomeClass &r_)
{
if (&r_ == this) return *this;
Data = *(r_.getData());
return *this;
}
= 호출된 함수를 아래와 같이 변경하니까 아주 잘된다.
(변경전)
PTR getData() { return &Data; }
(변경후)
const PTR getData() const { return &Data; }
'프로그래밍 > 언어_스크립트' 카테고리의 다른 글
오랜만에 C++ - 스레드 동기화(뮤텍스, 조건변수) (0) | 2017.09.13 |
---|---|
오랜만에 C++ - const, static, explicit, mutale (0) | 2017.09.11 |
오랜만에 C++ - 파일 처리 (0) | 2017.09.10 |
오랜만에 C++ - chrono (0) | 2017.09.02 |
오랜만에 C++ - const의 위치 (0) | 2017.09.02 |