好吧,你需要对类型做一些事情,要么使它成为typedef或成员,但是是的:
template <typename T>
struct C1 {};
template <typename T>
struct C2 {};
template <typename T>
struct C
{
typedef C1<C2T> > type; // note the space!
};
Run Code Online (Sandbox Code Playgroud)
>>实际上是右移位运算符,所以你需要一个空间才能正常工作.但是,在C++ 0x中,您只需输入>>; 解析得很好.*
*一些宽松的编译器目前会接受它.