我该怎么做来初始化一个结构的数组

Roy*_*bot 5 c++ arrays c++11

我用下面的方法初始化一个CandyBar结构数组,但编译器总是在struct initializer中说多余的元素.我尝试在数组定义中只放置一个结构初始化器,它已编译,但数组的其余2个元素为null
我该怎么办?

struct CandyBar{
    string brand;
    float weight;
    int calories;
};

int main(int argc, const char * argv[]) {

        array<CandyBar, 3> ary_cb =
    {
        {"Mocha Munch", 2.3, 350},
        {"Mocha Munch", 2.3, 350},
        {"Mocha Munch", 2.3, 350}
    };
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

qua*_*dev 5

你在结构周围缺少一对括号(记住,std::array是一个包含数组的结构):

    array<CandyBar, 3> ary_cb =
    {
        { 
            {"Mocha Munch", 2.3, 350} ,
            {"Mocha Munch", 2.3, 350} ,
            {"Mocha Munch", 2.3, 350} 
        }
    };
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

318 次

最近记录:

10 年,11 月 前