首页 > 后端开发 > C++ > 正文

\'为什么声明具有运行时确定大小的数组会导致\'预期常量表达式\”错误?\”

Linda Hamilton
发布: 2024-10-25 04:10:29
原创
386 人浏览过

错误:数组大小的“预期常量表达式”

尝试声明具有运行时确定大小的数组时,如以下代码片段:

<code class="cpp">int size = 100;
float x[size][2];</code>
登录后复制

您可能会遇到错误“预期常量表达式”。出现此错误的原因是声明的数组必须在编译时确定其大小。

解决方案:使用向量或动态数组分配

要解决此问题,请考虑使用向量或动态数组分配。使用向量,您可以在运行时指定大小:

<code class="cpp">std::vector< std::array<float, 2> > x(size);</code>
登录后复制

或者,您可以使用 new 运算符动态分配数组:

<code class="cpp">float (*px)[2] = new float[size][2];</code>
登录后复制

其他选项:

  • Boost Array:如果您没有 C 11,请使用 Boost 库的 boost::array。
  • 自定义数组类型: 创建可以放置在向量中的自定义数组类型。
  • 身份模板: 使用身份模板简化动态数组分配的语法。
  • 对向量: 使用 std::pair 向量存储数据。

以上是\'为什么声明具有运行时确定大小的数组会导致\'预期常量表达式\”错误?\”的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!