I want to make a struct that can hold an undifined array of other user defined structs.......

Ex:
Code:
typedef struct Info_Holder
{
    string         Name[];
    XHOLDER   xHolder[];   // another user defined struct

    Info_Holder()
    {
        xHolder[] = new xHolder();
    }
    ~Info_Holder()
    {
        delete[] xHolder;
    }
}
is that the right way to do it??? Can someone explain to me a better way cause this gives me errors...