저는 요소가 점인 클래스 그리드를 작성하고 있습니다. 각 요소의 사각형에 (이중) 점이있는 (int) 그리드입니다. 저는 이미 이것을 정의했습니다 (높이 값은 다른 곳에 저장됩니다) :[] = 연산자 정의하기
Point &operator[](Point p) { return floor(get_x(p)) + height * floor(get_y(p)); }
그리고 할당 연산자를 정의하고 싶습니다. 어떻게 이런 일이 벌어 질까요? []
연산자를 기반으로 자동 정의됩니까?
은 지금까지 나는
Point &operator[]=(Point p, Point q) { data[floor(get_y(p)) * height + floor(get_x(p))] = q; }
가지고 있지만 그 원형 정의처럼 보인다. 작동 방법은 []
오퍼레이터가 인덱스에 대한 참조를 요소를 반환해야하지있어
'연산자 []'확실히 복귀 안된다 그리드에 대한 참조! 그리고 당신의 정의에서는 그렇지 않습니다 만, 선언 된 반환 유형이'Grid &'일 때 첫 번째 오류가 발생할 것입니다. – leftaroundabout