List
안에 내 내부 클래스
ListIterator
의의 ctor을 만드는 데 문제가 있어요
을, 나도 몰라 :C++ 내부 클래스의 ctor 및 매개 변수
template<class T, int length>
class List {
public:
typedef struct Row {
T data;
int prev;
int next;
} Row;
class ListIterator {
typedef ListIterator iterator;
public:
ListIterator(int mPos, Row mRow) : pos(mPos) , row(mRow){}
//methods
private:
int pos;
Row row;
};
typedef ListIterator iterator;
iterator begin() const;
private:
Row storage[length];
int startDataIdx = 0;
};
template<class T, int length>
typename List<T,length>::iterator
List<T, length>::begin() const{
iterator item_iterator(startDataIdx, storage[startDataIdx]);
return(item_iterator);
}
일치하는 기능 에 전화 '목록 :: 반복자 :: 반복자 (const를 CONST, & INT 행 &)'
나는 ListIterator<T>
를 만들 같은 T
0으로을 매개 변수로 사용합니다 (이는 분명히 List
이 포함 된 것과 동일한 유형의 요소를 반복하므로), 어떻게해야합니까? begin()
메서드에서 new
을 사용하는 것이 더 좋을까요, 아니면 그대로 두어도 좋을까요 (새로운 이점을 사용하지 마십시오).
모든 표준 라이브러리 컨테이너에는'iterator'와'const_iterator' 내부 클래스가 있습니다. 왜 그렇게 생각합니까? –
그래서'list '에서 한 행에 대한 참조를 가진'iterator'를 만들 수 없다고 말하고 있습니까? – binaryBigInt