行 A b(3) は、2 つの可能なコンストラクターのいずれかを呼び出す可能性があるため、あいまいさが生じます。単一引数のパラメーター化されたコンストラクター、または既定の引数を持つ 2 つの引数のパラメーター化されたコンストラクターのいずれか。どうすればこれを解決できますか?
#include<iostream>
using namespace std;
class A
{
public:
int a,b;
A()
{
a=5;
b=6;
}
A(int a1)
{
a=a1;
b=54;
}
A(int a1,int b2=8)
{
a=a1;
b=b2;
}
void show()
{
cout<<"a="<<a<<" b="<<b<<endl;
}
};
int main()
{
A a(3); // I want A(int a1,int b2=8) to get executed
A b(3); // I want A(int a1) to get executed
a.show();
b.show();
return 0;
}