求大虾帮忙,新手求教,实在不知道为啥错了
红色字体处是编译时的报错#include <cstdlib>
#include <iostream>
using namespace std;
class Box
{
public:
Box(int h=10,int w=12,int len=15):height(h),width(w),length(len){} //声明有默认参数的构造函数,用参数初始化表对成员初始化
Box(int l=10,int s=10):lng(l),shrt(s){}
int volume();
int square();
private:
int height;
int width;
int length;
int lng;
int shrt;
};
int Box::volume()
{
return(height*width*length);
}
int Box::square()
{
return(lng*shrt);
}
int main(int argc, char *argv[])
{
Box a[3]= //定义对象数组
{
Box(10,12,15), //调用构造函数Box,提供第一个元素的参数
Box(15,18,20), //调用构造函数Box,提供第二个元素的参数
Box(16,20,26) //调用构造函数Box,提供第三个元素的参数
};
cout<<"volume of a[0] is "<<a[0].volume()<<endl; //调用a[0]的volume函数
cout<<"volume of a[1] is "<<a[1].volume()<<endl; //调用a[1]的volume函数
cout<<"volume of a[2] is "<<a[2].volume()<<endl; //调用a[2]的volume函数
Box b[2]=
{
Box(11,11), call of overloaded `Box(int, int)' is ambiguous 好像是引用模糊,不确定的意思
Box(12,12) call of overloaded `Box(int, int)' is ambiguous
};
cout<<"square of b[0] is "<<b[0].square()<<endl;
cout<<"square of b[1] is "<<b[1].square()<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}