【发布时间】:2017-03-25 06:20:24
【问题描述】:
我不确定我的措辞是否正确,因为这有点奇怪。 基本上我发现了一些这样的代码:
template<class T>
struct X { typedef T Type; };
template<class T>
struct X<const T[]> { typedef T Type[]; }
当我意识到这似乎不适用于第二个示例时,我正在更改 typedefs 以使用 C++11 using 类型别名语法。
即这是不可能的:
template<class T>
struct X<const T[]> { using Type[] = T; }
这是为什么?这是标准委员会的“疏忽”吗?
【问题讨论】:
-
也许你的意思是
using Type = T[];? -
@M.M 如果
using Type = T[];与typedef T Type[]相同,则可以作为答案。我刚查了一下,好像确实是这样。
标签: c++ arrays c++11 typedef using