类的数组成员无法在参数初始化表中被初始化

 刚刚在要用到这个功能时发现不行,要在构造函数中动态创建数组,并初始化。比如下面的代码,我想用参数初始化表来初始化是不行的:

 

class OOO

{

public:

OOO(char *name)

{

printf("%s\n", name);

}

};

class BBB

{

OOO o[3];

public:

BBB() : o(("o0"), ("o1"), ("o2"))

{

printf("in BBB\n");

}

};

可以改成

class BBB

{

OOO *o[3];

public:

BBB()

{

o[0] = new OOO("o0");

o[1] = new OOO("o1");

o[2] = new OOO("o2");

printf("in BBB\n");

}

};

 

你可能感兴趣的:(Class)