c++ - 没有索引号的多维数组的声明

标签 c++ arrays visual-studio-2010 c++11 multidimensional-array

我想知道如何以这种方式声明 char 数组:

char szArray[]={"one"};
char szArrayTwo[][6]={{"one"},{"two"},{"three"}};

但是这种方式不行

char szArrayTwo[][]={{"one"},{"two"},{"three"}};

注意:
我知道 c++ 标记,即使它应该是 c,但它在 c++ 上下文中与 c++ 编译器一起使用

最佳答案

事实上,它可以用于用作初始值设定项的常量表达式。但是在这种情况下,例如对于字符数组,编译器必须计算字符串文字的最大长度。如果数组是多维的,那就更难了。 如果在运行时计算初始值设定项,任务将更加复杂。事实上,编译器不可能生成合适的代码。

关于c++ - 没有索引号的多维数组的声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23013112/

相关文章:

visual-studio-2010 - Visual Studio 2010 上英特尔 OpenCL SDK 的 OpenCL 代码 'Error MSB3721'

c# - 有什么方法可以检查哪个 IDE 用于创建 .Net 项目

c++ - 如何将具有常量字段的对象添加到 std::map?

c - 通过将数字分成数组然后合并来交换数字顺序

php - 如何将 MySQL 列值从数组转换为字符串

javascript - 如何在 AngularJS 中循环数组并将值放入唯一标签中

visual-studio - 在 VS 2010 中注释代码而不更改该代码

c++ - 在 C++ 中通知特定线程

c++ - g++,创建用于分发的静态库

c++ - 深度检查 OpenGL(glsl)