인프런 커뮤니티 질문&답변

starkshn님의 프로필 이미지
starkshn

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

vector #4

29분 30초 typedef 질문

작성

·

237

0

29분 30초에서 typedef Iterator<T> iterator로 타입을 재정의 해주셨는데

현재 코드에서는 Iterator 클래스가 Vector클래스보다 위에 있기 때문에

클래스 '전방 선언'은 하지 않으신거고

template <typename T>의 모든 T에 대한 재정의를 iterator로 한다는 의미로 typedef Iterator<T> iterator 로 해주신간가요?

만약 template <typename T> class Iterator {};

가 template <typename T> class Vector {};

보다 선언위치가 밑에 있었다면

typedef부분을

class Iterator;라고 먼저 '전방 선언'해준다음에

typedef Iterator<T> iterator;로 해주어야 하나요?

현재 Iterator 클래스를 벡터보다 아래 선언을 한뒤

이렇게 전방선언할 경우 에러가 나는데 원인을 모르겠습니다..

답변 1

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

template<typename T>
class Iterator;


Iterator를 아래다 배치할 생각이라면,
전방선언은 위와 같이 해주시면 됩니다.

starkshn님의 프로필 이미지
starkshn
질문자

감사합니다

starkshn님의 프로필 이미지
starkshn

작성한 질문수

질문하기