c++ - 如何在 C++ 中初始化一个零数组

标签 c++ arrays initialization

int M=7;
int N=6;
int i=0;
int x=N*M;
int val3[x] = {};
for(int i=0;i<x;i++)
{
      //some calculations
      if (my condition)
      {
            //if this condition ok, change value of val[i]
      }
      cout << i << "   " << val[i] << endl;
}

我想初始化一个零array(val),我使用了上面的代码,但是我得到一个错误,说可变大小对象可能没有被初始化。不能初始化零数组吗?需要你的帮助....谢谢

最佳答案

C++ 不包括变长数组; int val3[ x ] with x 非常量是 C99 的一个特性。并非所有 C99 功能都是 C++ 的一部分。尝试使用 std::vector

#include <vector>

// contains an array of length x, automatically filled with zeroes
std::vector< int > val3( x );

关于c++ - 如何在 C++ 中初始化一个零数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689122/

相关文章:

c++ - 使用 MHook 的系统范围的钩子(Hook)

c++ - 水平碰撞不起作用 AABB C++

javascript - 如何在同一个页面中制作多个阅读更多阅读更少按钮

matlab - 我在初始化 MATLAB 类时遇到问题

c - stack 未初始化的值是由堆栈分配创建的

c++ - 为什么我要为指针返回类型返回一系列字符?

C++检查从文件中读取的最后一件事是否是数字

c - 从二维数组切换到一维(字符串)

PHP 和 MySQL - 使用数组填充选择下拉列表

c - 执行 typedef 时初始化结构数组