I'm trying to multiply 2 matrices together using operator-overloading but I'm getting an error when trying to convert my int array into my matrix class in order to use it. I'm not sure how to fix these errors
#include <iostream>
using namespace std;
struct matrix{
int array[4][4];
public:
void make(int A[][4], int size) {
for (int x = 0; x < size; x++) {
for (int y = 0; y < size; y++) {
array[x][y] = A[x][y];
}
}
}
void operator*(matrix m) {
int output[4][4];
for (int x = 0; x < 4; x++){
for (int y = 0; y < 4; y++){
array[x][y] = (array[x][y] * m.array[x][y]);
}
}
for (int x = 0; x < 4; x++) {
for (int y = 0; y < 4; y++) {
cout << output[x][y] << " ";
}
cout << endl;
}
}
};
int main(){
matrix m1, m2;
int a[4][4] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
//int c[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
m1.make(a[4][4], 4);
m2.make(a[4][4], 4);
m1*m2;
return 0;
}