I have written a matrix class and have a problem with multiplication. I want multiply only square matrices and have no idea how to handle it. Can anybody help? Some code below:
//mSize - matrix size, mP - matrix pointer
int mSize, *mP;
//constructor
matrix(){
mP = NULL;
mSize = 0;
}
matrix operator*(const matrix & mat){
matrix mul;
mul.mSize = mat.mSize;
mul.mP = new int[mul.mSize * mul.mSize];
if(mSize == mat.mSize){
for(int i = 0; i < mul.mSize * mul.mSize; i++){
for(int j = 0; j < mul.mSize * mul.mSize; j++){
for(int k = 0; k < mul.mSize * mul.mSize; k++){
mul.mP[i*j] += mP[i*k] * mat.mP[k*j]; <-- that line is not good but I don't know if only that
}
}
}
}else {
cout << "error";
exit(-1);
}
return mul;
}