inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

vector #4

typedef<T> iterator; 부분 관련 질문입니다

해결된 질문

149

hush park

작성한 질문수 46

0

32:08

 

Iterator<T> 를 iterator로 재정의 해주고, begin()과 end()의 반환타입을 iterator로 바꿔준후

main의

 

for(Vector<int>::iterator it = v.begin(); it != v.end(); ++it)

{

}을 돌릴때,

iterator는 Iterator<T> 를 재정의한 것일뿐 동일하니까

 

Vector<int>::Iterator<int> it =v.begin();

이렇게 바꾼다면 왜 컴파일 에러가 뜨는지 궁금합니다.

c++

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

질문하신 부분에서 컴파일 에러가 발생하는 이유는 typedef를 사용하여 재정의한 iterator 타입과 직접 명시한 Vector<int>::Iterator<int> 타입 사이의 불일치 때문입니다. typedef를 통해 Iterator<T>iterator로 재정의 하면, 이는 템플릿 매개변수가 아닌 특정한 타입으로 취급되기 때문에, Vector<int>::iterator로 사용할 때와 Vector<int>::Iterator<int>로 직접 사용할 때 컴파일러가 인식하는 방식에 차이가 생깁니다.

특히, typedef<T>를 사용할 때는 템플릿 매개변수 <T>가 잘못 사용되었습니다. C++에서 typedef를 사용하여 타입을 재정의할 때는 템플릿 매개변수를 이런 방식으로 사용하지 않습니다. 올바르게 쓰려면 typedef 구문 뒤에 템플릿 타입을 직접 명시해 주어야 합니다. 예를 들면, typedef Iterator<int> iterator;와 같이 사용하는 것입니다. 따라서, Iterator<T>iterator로 재정의한 것이 정확히 어떻게 이루어졌는지, 그리고 실제 사용한 코드의 문맥을 다시 확인해 볼 필요가 있습니다.

정리하자면, 해당 컴파일 에러는 재정의한 iterator와 직접적으로 타입을 명시한 Vector<int>::Iterator<int> 사이의 타입 불일치에서 발생하며, 또한 typedef 사용 방식에 오류가 있는 것 같습니다. typedef를 올바르게 사용했는지, 그리고 타입을 재정의하는 과정에서 템플릿 매개변수를 정확히 어떻게 다뤄야 하는지 확인해 보세요.

소스코드와 관련하여 질문드립니다

0

70

1

map 컨테이너의 emplace 함수에 대해

0

112

2

시작이 안되네요...!

0

96

2

EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유

0

125

1

리틀 엔디안 장점 질문합니다.

0

131

1

메모리 창에 주소를 넣었는데 영어 꺠짐

0

124

1

타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.

0

94

2

map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.

1

138

2

hello world 부터 오류 ㅠㅜ

0

188

1

지역변수가 스택? 레지스터

0

127

2

마지막 문제 질문드립니다.

0

163

2

메모리창이 비활성화됩니다.

0

98

1

이중포인터 강좌 부분 질문있습니다.

0

145

1

2를 더하는 이유

0

133

1

메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다

1

110

1

해당 코드는 왜 오류가 날까요?

0

154

1

마지막 문제 질문 있습니다.

0

118

1

강의 마지막부분에 질문이 있습니다.

0

190

2

Field초기화

0

140

1

virtual과 override 차이

0

314

2

3:30 참조자 리턴

0

166

1

map 찾기

0

157

1

프로그램 질문드려요

0

258

1

캐스팅 질문

0

137

1