求助各位C语言高手,为什么出现这样的错误?应该怎么改?

来源:百度知道 编辑:UC知道 时间:2024/06/27 07:30:45
程序如下:
void ylyb(){
double x[14][7]; /*某点距坯壳表面的距离*/
double w[28]; /*凝固坯壳厚度*/
double z[14];
double yl[14][7];
double T0[14][7];
double d[14]; /*弯月面距离*/
float yb[14][7]; /*应变*/
double T[14][7];
double Ts[14];
double md=7.79,l=4.2;
for(i=8;i<n;i++){
for(j=0;j<7;j++){
if(tem[i][j]<tl){
T[i-8][j]=tem[i][j];
x[i-8][j]=j*dx;
z[i-8]=j*dx;
d[i-8]=i*dx;
w[i-8]=0;

}
else {
w[i-8]=j*dx;
Ts[i-8]=tem[i][j];
T[i-8][j]=0;
yl[i-8][j]=0;

}
}
for(i=8;i<n;i++){
for(j=0;j<7;j++){
if((T[i-8][j]==0)||(w[i-8]==0))
yl[i-8][j]=0;
else{

yl[i-8][j]=md*d[i-8]/(2*w[i-8])+md*d[i-8]*(x[i-8][j]-w[i-8]/2)*(6*z[i-8]*z[i-8]-6*l*z[i-8]+l*l)/(w[i-8]*w[i-8]*w[i-8])-0.2

错误在哪一行呀,你的程序不完整,我只能告诉你错误信息了

它提示你的错误是,在473行那里,你一开始引用的某个变量,之后又当函数引用了,因此,他提示的信息是,你引用的那个不是一个函数
例如这个程序,和你的错误信息是一样的
class PowSum
{
private:int pow(int,int);
public:int getSum(int,int,int);
};
int PowSum::pow(int i,int j)
{
int p,m;
for(m=1;m<=j;m++)
p=p*m;
return p;
}
int PowSum::getSum(int low,int high,int pow)
{
int i,j,sum=0;
for(i=low;i<=high;i++)
for(j=1;j<=pow;j++)
sum=+pow(i,j);//这行出错
return sum;
}

原因是pow本身是一个函数
但是这里先使用了for(j=1;j<=pow;j++)
变量名字为pow的变量
然后,又在后面的for语句里使用了sum=+pow(i,j);
pow函数,变量名和函数名重名了,你得去找找这个错误