我不确定我是否正确地说这个,因为这有点奇怪。 基本上我发现了一些像这样的代码:
template<class T>
struct X { typedef T Type; };
template<class T>
struct X<const T[]> { typedef T Type[]; }
当我意识到这似乎不适用于第二个例子时,我正在更改typedef
以使用C ++ 11 using
类型别名语法。< / p>
即。这是不可能的:
template<class T>
struct X<const T[]> { using Type[] = T; }
这是为什么?这是标准委员会的“监督”吗?
答案 0 :(得分:4)
正确的语法是:
using Type = T[];
定义Type
的类型为“T
未知范围的数组”。