//코드 누리 강의를 보고 공부한 내용입니다.
//이번 강의는 처음 보는 내용임.
값 : enum 상수, static 멤버 변수
타입 : typedef, using
이 있음.
->
컴파일러의 내용을 보면, 값으로 받아들였다는 것임.
안되는 이유에 대해서 생각을 해보면, 컴파일러 입장에서
T::DWORD 에서 T는 임의의 type임, template이므로 int가 들어올수도 있는데?
어떻게 판단할 것이냐?? 이거임.
typename을 붙여보자.
-> 이상 없음
하지만 이때는 클래스에 DWORD라는 값이 있어야 함.
그리고 클래스만 처리 가능
T::DWORD를 작성할 경우, 컴파일러는 DWORD를 값으로 해석함.
typename T::DWORD로 작성할 경우는 type으로 해석함.