一、错误原因:函数的声明和定义中的参数都有赋值
.h文件中函数声明里参数有赋值 Tri(float a1=1,float b1=1,float c1=1);
.cpp文件中函数定义里参数有赋值 Tri::Tri(float a1=1,float b1=1,float c1=1)
//--------------------------------------
//.h文件中
class Tri
{
private:
float a;
float b;
float c;
public:
Tri(float a1=1,float b1=1,float c1=1);
};
//--------------------------------------
//.cpp文件中
Tri::Tri(float a1=1,float b1=1,float c1=1)
{
a=a1;
b=b1;
c=c1;
cout<<"三角形三个边"<<"a1="<<a<<" "<<"b1="<<b<<" "<<"c1="<<c<<" "<<endl;
}
//--------------------------------------
二、解决办法:去掉.h文件中函数声明里参数赋值,保留.cpp文件中函数定义里参数赋值。
.h文件中函数声明里参数有赋值 Tri(float a1,float b1,float c1);
.cpp文件中函数定义里参数有赋值 Tri::Tri(float a1=1,float b1=1,float c1=1)
//--------------------------------------
//.h文件中
class Tri
{
private:
float a;
float b;
float c;
public:
Tri(float a1,float b1,float c1);
};
//--------------------------------------
//.cpp文件中
Tri::Tri(float a1=1,float b1=1,float c1=1)
{
a=a1;
b=b1;
c=c1;
cout<<"三角形三个边"<<"a1="<<a<<" "<<"b1="<<b<<" "<<"c1="<<c<<" "<<endl;
}
//--------------------------------------