我不确定我的措辞是否正确,因为这有点奇怪。
基本上我发现了一些这样的代码:
template<class T>
struct X { typedef T Type; };
template<class T>
struct X<const T[]> { typedef T Type[]; }
我正在改变typedef
使用 C++11using
当我意识到这似乎不适用于第二个示例时,我使用了类型别名语法。
即不可能执行以下操作:
template<class T>
struct X<const T[]> { using Type[] = T; }
为什么是这样?这是标准委员会的“监督”吗?
正确的语法是:
using Type = T[];
这定义了Type
具有类型“未知边界的数组T
".
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)