Я инициализировал такой массив array[n][k+1]={0}
, где n и k вводятся пользователем. Но я обнаружил, что он не инициализирует все значения индекса нулем. Хотя с другой стороны memset(array,0,sizeof(array))
работает нормально. Так почему это произошло?
Потому что каждый раз, когда я инициализировал вот так array[n][n]={0}
, он всегда работал нормально. Но почему бы и нет в этом случае.
array[n][k+1]={0}
где n и k вводятся пользователем. недействителен С++. - person cigien   schedule 25.09.2020n
иk
не являются константами времени компиляции,array[n][k+1]
не является допустимым C++, и любой результат, который вы получаете, является тем, что вы получаете. - person NathanOliver   schedule 25.09.2020std::vector<std::vector<int>> myarray(n, std::vector<int>(k+1));
-- Это не только сработает, потому что является стандартным, но и устанавливает массив для всех0
. - person PaulMcKenzie   schedule 25.09.2020