根据你的描述,问题出现在使用 std::make_tuple
和结构化绑定(structured binding)初始化多个成员变量时。这种初始化方式在C++中是合法的,但可能会导致一些问题,尤其是在类的成员变量初始化中。
问题分析
-
成员变量初始化顺序:
- 在C++中,类的成员变量的初始化顺序是按照它们在类定义中的声明顺序,而不是按照构造函数初始化列表中的顺序。
- 你的成员变量声明顺序是:
QCheckBox *m_checkMistakeCalibrateTitle, *m_checkCalLeftUp, *m_checkCalRightUp, *m_checkCalLeftBottom