Я пытаюсь написать матричную программу на C ++ и получаю сообщение об ошибке недопустимые операнды для двоичного выражения. Я знаю, что это связано с моим перегруженным оператором с «*». В моем коде main. cpp:
Matrix mat7=mat1*3;
cout<<"Mult m1 * 3;"<<endl;
print_matrix(mat7);
В этой части я умножаю матрицу 1 на 3.
То, что мне нужно, находится в моей матрице. cpp
Matrix Matrix::operator * (const Matrix& mat2){
if(this->num_cols==mat2.num_rows){
Matrix result(num_rows, mat2.num_cols);
for(int i=0; i<num_rows; i++){
for(int j=0; j<mat2.num_cols; j++){
result.matrix[i][j]=0;
for(int k=0; k<this->num_cols; k++){
result.matrix[i][j]+=matrix[i][k]*mat2.matrix[k][j];
}
}
}
return result;
}
else{
Matrix result(num_rows, num_cols);
for(int i=0; i<num_rows; i++){
for(int j=0; j<num_cols; j++){
result.matrix[i][j]=0;
}
}
return result;
}
}
Это для моей перегрузки оператора умножения для умножения другой матрицы.
Мой вопрос: как мне сделать то же самое, но с целым числом?