在以下代码中,我收到以下警告消息:
会员'年'未在此构造函数中初始化
会员'月'未在此构造函数中初始化
会员'日'未在此构造函数中初始化
...
但是,对于uint32_t类型,我希望成员默认初始化为0,例如0。
typedef uint32_t bmd2_uint32;
class UnitTestCInterface : public UnitTest {
{
private:
bmd2_uint32 year;
bmd2_uint32 month;
bmd2_uint32 day;
...
public:
UnitTestCInterface()
: filename(nullptr), UnitTest("UNIT TEST: C Interface") { };
为什么这些成员不会被默认初始化,我该怎么办呢?
答案 0 :(得分:6)
您可以使用初始化列表初始化它们:
UnitTestCInterface()
: year(0),month(0),day(0), filename(nullptr), UnitTest("UNIT TEST: C Interface")
{ };