Compiler Error C2658

multiple conversions : 'type1(type2)' and 'type1::operator type2()'

The conversion was ambiguous because it could be done with either the specified constuctor or the specifed conversion operator.

The following is an example of this error:

struct A;
struct B
{
   B(A);
   B();
};
struct A
{
   operator B();
};
A a;
B b = B(a);  // error