c++ - 可以使用 using 为数组键入别名吗?

标签 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 type-alias 语法,当我意识到这似乎不起作用时对于第二个例子。

即这是不可能的:

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

这是为什么?这是标准委员会的“疏忽”吗?

最佳答案

正确的语法是:

using Type = T[];

定义 Type 的类型为“T 的未知边界数组”。

关于c++ - 可以使用 using 为数组键入别名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43013243/

相关文章:

c++ - 竞赛编程头文件

c++ - 关于碰撞安全和容错编程的资源

c - 如何遍历C中的Struct数组

c++ - 来自给定输入的理性算术

c++ - 如何创建自己的 ostream/streambuf?

c++ - 管道以提供文件作为 C 程序的输入

javascript - 填充图和填充图的区别

javascript - 变量赋值避免了无限循环

c++ - auto 如何决定变量的类型?

c++ - 模板成员函数上的外线 sfinae 是否可能?