redefinition of formal parameter 'a'什么意思啊,我是初学者,麻烦了

来源:百度知道 编辑:UC知道 时间:2024/07/05 09:27:45
#include<iostream.h>
#include<math.h>
class Cpoint
{
public:
double x,y;
Cpoint(double a,double b)
{x=a;y=b;}
};
class tria
{
public:
friend double length(Cpoint &p1,Cpoint &p2,Cpoint &p3,tria &a);
double area()
{
double t=(l1+l2+l3)/2;
return sqrt(t*(t-l1)*(t-l2)*(t-l3));
}
double l1,l2,l3;
};
double length(Cpoint &p1,Cpoint &p2,Cpoint &p3,tria &a)
{
double a=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));
double b=sqrt((p2.x-p3.x)*(p2.x-p3.x)+(p2.y-p3.y)*(p2.y-p3.y));
double c=sqrt((p3.x-p1.x)*(p3.x-p1.x)+(p3.y-p1.y)*(p3.y-p1.y));
l1=a;l2=b;l3=c;
}
void main()
{
Cpoint p1(1.5,5.0),p2(3.4,5.1),p3(4.7,8.1);
tria a;
length(p1,p2,p3,a);
cout<<a.area<<endl;
}
错误如下
C:\Program Files\Microsoft Visual Studio\MyProjects\lab\06251103142.cpp(23)

形式参数 重新定义,在同一个函数内不能定义两次同一个变量
比如int ss(int a)
{

int a; //这里的a 编译的时候就会提示redefinition of formal parameter 'a'
}

双击第一个错误 看下错误指针指向哪一行 ,说明那里的a是重新定义的,也就是前面定义了一个a
我也是新手!!不过希望可以帮到你

int ss(int a)这句括号中定义了a,函数ss里再定义int a就重复了。我学c语言的时候遇到了,来搜一下发现这么简单。