Эта программа должна иметь функцию, которая может принимать 2 массива и возвращать их продукт в третьем массиве. Все массивы должны быть 2d, а отдельная функция должна завершить умножение элементов по порядку. Когда я запускаю это в визуальной студии, я получаю ошибку:Изменение значений 2d массива ссылок в функции
Unhandled exception at 0x003f15ec in program4.exe: 0xC0000005:
Access violation reading location 0x00000000.
Это может быть из-за мое отсутствие знаний о C++, но я думаю, что я, возможно, сделал синтаксическую ошибку или что-то. Вот программа:
#include<iostream>
using namespace std;
void ProductArrays(int[3][4], int[3][4], int** array3[3][4]);
void main()
{
int array1[3][4] = { {1,3,5,7}, {9,11,13,15}, {17,19,21,23} };
int array2[3][4] = { {2,4,6,8}, {10,12,14,16}, {18,20,22,24} };
int** array3[3][4] = {0,0,0,0,0,0,0,0,0,0,0,0};
ProductArrays(array1, array2, array3);
system("pause");
return;
}
void ProductArrays(int array1[3][4], int array2[3][4], int** array3[3][4])
{
int i,j;
for (i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
**array3[i][j] = array1[i][j] * array2[i][j];
}
}
return;
}
'void main()' является нестандартным. Используйте 'int main()' и либо 'return 0; ', либо полностью исключить его. Хороший компилятор не должен принимать 'void main()'. – chris