嵌套在模板类定义中的C++模板类型

ct_*_*ct_ 3 c++ template-meta-programming

我有一种情况,其中有一个类定义,如下所示:

template<class T>
class Alpha< Bravo<T> >
{
....
};
Run Code Online (Sandbox Code Playgroud)

我正在使用gnu g ++进行编译,编译器抱怨Alpha是"不是模板".

我已经看到了在Bravo编写的库中使用的相同技术,而Bravo是一个模板化的类.我错过了什么吗?我已经将Alpha剥离到骨头并完成测试,没有编译成功.我也尝试从我在Bravo的库中看到的这个地方复制+粘贴代码,同样的事情,没有成功,同样的错误.

提前致谢.

ild*_*arn 6

你有什么是部分模板专业化; 然而,任何模板专业化需要一个模板专业化,并你没有.

template<class T>
class Alpha;

template<class T>
class Alpha<Bravo<T> >
{
    // ...
};
Run Code Online (Sandbox Code Playgroud)