怎么在C++类中实现自定义数组结构

如何在C++类中实现自定义数组结构
如在.h文件中定义以下结构
struct A 
{
    int _a;   
    int _b;
    int _c;

    A(int a, int b, int c):_a(a),_b(b),_c(c){}
};
此时在同一头文件中,定义以下类
class CA
{
public:
    CA();
    ~CA(){}
private:
    A m_a1;
    A m_a2[5];//这样定义有问题
};
在.cpp中对其实现
CA::CA()
  : m_a1(0,0,0) //可以实现
{
    // 如何定义m_a2?
}

------解决思路----------------------
数组确实不支持这种初始化
要么给A的构造函数提供默认参数吧
------解决思路----------------------
    A m_a2[5];//这样定义有问题
  数组的初始是会调用A的默认构造函数的,所以提供一个默认的构造函数即可;否则请使用指针
------解决思路----------------------
引用:
Quote: 引用:

A m_a2[5];
这样定义没有问题啊。

可以通过编译,但是会在.cpp的构造函数中出现这个问题
怎么在C++类中实现自定义数组结构

那里因为这样定义初始化时会调用A的默认构造函数,而你的A没有提供,所以才报错。有两种解决办法:
一是你提供A的默认构造函数,二是这样定义A *m_a2[5],在CA构造函数中new出5个A对象然后赋到m_a2中就可以。