如何初始化类数组?

时间:2010-06-06 10:16:42

标签: c++ arrays

我有这个类构造函数:

Pairs (int Pos, char *Pre, char *Post, bool Attach = true);

如何初始化Pairs类的数组?我试过了:

Pairs Holder[3] =
{
    {Input.find("as"), "Pre", "Post"},
    {Input.find("as"), "Pre", "Post"},
    {Input.find("as"), "Pre", "Post"}
};

显然它不起作用,我也尝试使用()括号而不是{},但编译器始终保持呻吟。对不起,如果这是一个蹩脚的问题,我搜索相当努力,但无法找到答案:/

2 个答案:

答案 0 :(得分:12)

显式调用构造函数:

Pairs Holder[3] =
{
    Pairs(Input.find("as"), "Pre", "Post"),
    Pairs(Input.find("as"), "Pre", "Post"),
    Pairs(Input.find("as"), "Pre", "Post")
};

答案 1 :(得分:6)

调用构造函数:

Pairs Holder[3] =
{
    Pairs(Input.find("as"), "Pre", "Post"),
    Pairs(Input.find("as"), "Pre", "Post"),
    Pairs(Input.find("as"), "Pre", "Post")
};

这类似于说

Holder[0] = Pairs(Input.find("as"), "Pre", "Post");
Holder[1] = Pairs(Input.find("as"), "Pre", "Post");
Holder[2] = Pairs(Input.find("as"), "Pre", "Post");

可以找到一个完整的课程here