중첩 의존

    C++ typename의 두 가지 의미

    템플릿의 타입 매개변수를 선언할 떄는 class와 typename의 뜻이 완전히 똑같다. 그렇다고 언제까지나 class와 typename이 C++ 앞에서 언제나 동등한 것만은 아니다. template void Print2nd( const C& container) { if( container.size() >= 2 ) { C::const_iterator iter( container.begin() ); ++iter; int value = *iter; std::cout void Print2nd( const C& container ) { C::const_iterator* x; ... } 언뜻 보면, C::const_iterator에 대한 포인터인 지역 변수로서 x를 선언하고 있는 것 같지..