non puoi passare un vettore con entrambi gli indici undefined ad una funzione, devi passarlo come int *arr[] oppure come int **arr, visto che alla fine della fiera un array bidimensionale è assumibile come un doppio puntatore.
poi, non puoi ritornare un array come se fosse una variabile, devi mettere il vettore dove la funzione inserisce i prodotti tra i parametri della funzione stessa. Un modo sbagliato di farlo sarebbe quello di ritornare un puntatore ad un array allocato dinamicamente, ma ti esporresti a dei memory leak e ad una violazione del pattern funzionale del C/C++.
quindi ricapitoliamo:
prototipo:
void Somma(int **arr1, int **arr2, int *arr3);
dove man mano fai arr3[x] += arr1[x][y] * arr2[x][y];
prima di chiamare la funzione Somma devi dichiarare il vettore risultato, quindi chiamarla:
Somma(vettore1, vettore2, risultato);
|