[英]ERROR problem with a function. C++
In function Determininant i keep getting an error.... 在函数行列式中,我不断收到错误...。
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
const int maxsize = 10;
ifstream fin;
ofstream fout;
void transpose (double omatrix[][maxsize],double tmatrix [][maxsize], int array_size)
{
for(int i = 0; i < array_size; i++)
{
for(int j = 0; j < array_size; j++)
{
tmatrix[j][i] = omatrix[i][j];
}
}
}
void sub (double omatrix[][maxsize], double smatrix[][maxsize], int array_size, int i, int j)
{
int counter1 = 0, counter2 = 0;
for (int a = 0; a < array_size; a++)
{
if (a != i)
{
for (int b = 0; b < array_size; b++)
{
if (b != j)
{
smatrix[counter1][counter2] = omatrix[a][b];
counter2++;
}
}
counter1++;
}
}
}
double Determininant(double original_matrix[][maxsize], int array_size)
{
if(array_size == 1)
return original_matrix[0][0];
else if(array_size == 2)
return original_matrix[0][0] * original_matrix[1][1] - original_matrix[0][1] * original_matrix[1][0];
double d = 0.0;
double temp[maxsize][maxsize];
for(int i = 0; i < array_size; i++)
{
sub (original_matrix,temp,array_size, 0, i);
d += pow(-1.0,i) * original_matrix[0][i] * d(temp, array_size - 1);
}
return d;
}
void print (const double m[][maxsize], int array_size)
{
for(int i = 0; i < array_size; i++)
{
for(int j = 0; j < array_size; j++)
{
fout << m[i][j] << " ";
}
fout << "\n";
}
fout << "\n";
}
The error is error: 'd' cannot be used as a function. 错误是错误:'d'不能用作函数。 Any ideas on whats wrong?
有什么问题的想法吗?
Exactly what the error message says: d
is a double
and you can't call it as a function. 错误消息的确切含义是:
d
是double
,不能将其作为函数调用。 Perhaps you meant Determinant(temp, array_size - 1)
? 也许您是说
Determinant(temp, array_size - 1)
?
It's the end of this line: 这行的结尾:
d += pow(-1.0,i) * original_matrix[0][i] * d(temp, array_size - 1);
As casablanca said, do you mean this?: 正如卡萨布兰卡所说,你是说这个意思吗?
d += pow(-1.0,i) * original_matrix[0][i] * Determinant(temp, array_size - 1);
d += pow(-1.0,i) * original_matrix[0][i] * d(temp, array_size - 1);
子句d(temp, array_size - 1)
告诉C ++调用函数d。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.