Ich habe einen Konstruktor, der einige Argumente akzeptiert. Ich hatte angenommen, dass sie in der angegebenen Reihenfolge konstruiert wurden, aber in einem Fall scheint es, dass sie in umgekehrter Reihenfolge konstruiert wurden, was zu einem Abbruch führte. Als ich die Argumente umkehrte, hörte das Programm auf abzubrechen. Dies ist ein Beispiel für die von mir verwendete Syntax. Die Sache ist, dass a_ in diesem Fall vor b_ initialisiert werden muss. Können Sie die Bauordnung garantieren?
z.B
class A
{
public:
A(OtherClass o, string x, int y) :
a_(o), b_(a_, x, y) { }
OtherClass a_;
AnotherClass b_;
};