Я создал тестовую функцию: void test(double** matrix);
Передача параметров в функции
Я хочу, чтобы перейти к этой переменной функции, как double matrix[2][2] = {{1,2},{2,3}};
. Но мой злой компилятор пишет: cannot convert «double (*)[2]» to «double**» for argument «1» to «void test(double**)»
.
Что мне нужно сделать?
Соблюдайте порядок злого компилятора. Вы не можете заменить 'double [] []' на 'double **', потому что макеты памяти различны. Вам нужно будет выделить свои строки с помощью 'new' или найти другой способ (подсказка:' vector'). – Nbr44
Вам необходимо прочитать базовое руководство по языку C. –
Mutidemensional массивы! = Зубчатые массивы. Жесткие массивы двойные ** и должны быть выделены с помощью new или malloc и представляют собой массив указателей. Многомерные массивы - это один непрерывный блок памяти, который можно индексировать смешно. – IdeaHat