У мене є конструктор, який бере деякі аргументи. Я припускав, що вони побудовані в перерахованому порядку, але в одному випадку виявляється, що вони були побудовані в зворотному порядку, що призводить до переривання. Коли я перевернув аргументи, програма перестала робити аборт. Це приклад синтаксису, який я використовую. Справа в тому, що a_ в цьому випадку потрібно ініціалізувати перед b_. Чи можете ви гарантувати порядок будівництва?
напр
class A
{
public:
A(OtherClass o, string x, int y) :
a_(o), b_(a_, x, y) { }
OtherClass a_;
AnotherClass b_;
};