可用于键入数组别名



我不确定我是否正确措辞,因为这是一个有点奇怪的情况。基本上我找到了一些这样的代码:

template<class T>
struct X { typedef T Type; };
template<class T>
struct X<const T[]> { typedef T Type[]; }

当我意识到这似乎不适用于第二个示例时,我正在更改 typedef 以使用 C++11 using类型别名语法。

即不可能做到:

template<class T>
struct X<const T[]> { using Type[] = T; }

这是为什么呢?这是标准委员会的"疏忽"吗?

正确的语法是:

using Type = T[];

它定义了Type的类型为"未知T边界数组"。

最新更新