2014-09-12 3 views
0

스택 클래스를 템플릿으로 만들려고하는데이 파일에는 별도의 파일에이 줄이 있습니다.typedef 템플릿 템플리트

typedef [namespace]::stack<double> number_stack; 

일반 T 유형을 허용하도록이 템플릿을 만들려고합니다.

그런 다음 최종 목표는 템플릿 형식이 복소수를 스택의 항목으로 허용하도록하는 것입니다.

누구든지이 문제로 저를 도울 수 있습니까? 당신이 템플릿 stack의 특정 인스턴스를 형식 정의를 위해 number_stack을 원하는 경우에 당신은 number_stack 자체가 "템플릿 할"는 타입 정의를 원하는 경우

+0

'typedef N :: stack number_stack;'을 의미합니까? 그렇지 않다면 귀하의 질문을 명확히하시기 바랍니다 –

답변

2

, 단지

typedef stack<int> number_stack; 

를 이동, 당신은 C++ 11 type alias

template < typename T > class stack {}; 

template < typename T > using number_stack = stack <T>; 

typedef number_stack<int> int_stack; 
필요

using의 사용은 기본적으로 표준 typedef을 템플릿으로 만듭니다.

+0

그리고, 단지 완성을 위해,이 일을하는 11 가지 방법은 C 템플릿입니다. struct number_stack {typedef stack type; };'당신은'typename number_stack '처럼 사용할 것입니다. :: type an_int_stack;' – cdhowie

+0

@cdhowie'an_int_stack'을 위해'typename '이 필요 없습니다. –

+0

@ T.C. 네 말이 맞아, 나는 카페인이 부족해. :) – cdhowie