[ERROR]
A constructor was declared with one parameter, and the parameter has the type of the class itself.
struct B {
B(B b); // error
};
Use a reference of the class instead of the class itself.