可以用来键入别名数组吗?

时间:2017-03-25 06:20:24

标签: c++ arrays c++11 typedef using

我不确定我是否正确地说这个,因为这有点奇怪。 基本上我发现了一些像这样的代码:

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; }

这是为什么?这是标准委员会的“监督”吗?

1 个答案:

答案 0 :(得分:4)

正确的语法是:

using Type = T[];

定义Type的类型为“T未知范围的数组”。