【发布时间】:2013-06-10 19:41:08
【问题描述】:
我有一个模板类 ParameterTemplateClass,它是另一个模板类的参数类型。
基本上我的代码如下所示。
template <class T1, class T2>
class ParameterTemplateClass
{
typedef T1 Type1;
typedef T2 Type2;
};
template <ParameterTemplateClass<template<class T1, class T2> > >
class SomeClass
{
typedef typename ParameterTemplateClass::Type1 Type1;
typedef typename ParameterTemplateClass::Type1 Type1;
};
template<>
class SpecializedClass::ParameterTemplateClass<int, float>
{ }
template<>
class SomeSpecializedClass::SomeClass<SpecializedClass>
{ }
我无法让它工作。我尝试了不同的方法,包括What are some uses of template template parameters in C++? 中显示的方法;但是到目前为止我还没有成功。
请不要说我希望类 SomeClass 模板参数是 ParameterTemplateClass,而不是 T1、T2,它们是 ParameterTemplateClass 的参数类型。
这可以实现吗?有人可以告诉我。谢谢
【问题讨论】:
-
我不明白你想要什么。您是否希望使用类型参数实例化
SomeClass,并确保该类型参数是ParameterTemplateClass<>的实例化?在这种情况下,模板模板参数不是您想要/需要的 -
@AndyProwl,好的,我将编辑问题以使其更清楚。
-
@AndyProwl 好的,我现在已经更新了我的问题。你有你需要的信息吗? :)