클래스 외부의 템플릿 매개 변수에 액세스하고 싶습니다. 보통 다음과 같이합니다 :타입이 아닌 템플릿 매개 변수 typedefy
template <class T>
class A
{
typedef typename T T;
}
A<int>::T;
비 형식 템플릿 매개 변수에 대해 동일한 작업을 수행하고 싶습니다. 작동하지 않습니다 :
template <int T>
class A
{
typedef typename T T;
}
A<3>::T;
나는 이것을 왜 필요하게하는지 명확히 할 것입니다. 다음과 같이 두 번째 클래스를 정의하려고합니다.
template <class C>
class B
{
static int func() {return C::T;}
}
B<A<3> >::func();
올바른 방법은 무엇입니까? 대단히 감사합니다.
'class'는'typename'과 호환되며'int'는 아닙니다. 또한 달성하려는 것은 무엇입니까? – antonijn
실제로'T'가 종속 이름이 아니기 때문에'Tename'을 다시 정의 할 수 없으므로 두 코드 모두'typename'을 사용할 수 없습니다. 종속되지 않은 이름'T'와 같이 규정되지 않은 이름 앞에'typename'을 사용하면 –
을 사용할 수 없습니다. –