解决数组大小的“预期常量表达式”错误
考虑以下 C 代码:
<code class="cpp">int count = 0; float sum = 0; float maximum = -1000000; std::ifstream points; int size = 100; float x[size][2]; // <<< Error
此声明数组 x 时,代码引发“预期常量表达式”错误。出现此错误的原因是 C 要求在编译时已知非静态数组大小。
使用向量的解决方案
要解决此问题,我们可以使用 C 向量而不是数组:
<code class="cpp">std::vector<std::array<float, 2>> x(size);</code>
使用 new 的解决方案
另一种方法涉及使用 new 运算符动态分配数组:
<code class="cpp">float (*px)[2] = new float[size][2];</code>
替代解决方案
非 C 11 编译器的注意事项
如果您没有 C 11 支持,请使用以下技术:
以上是如何修复在 C 中声明数组时出现的'预期常量表达式”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!