我有一个嵌套的数组,其中包含来自另一个数组的元素,该数组分为2个。之后,我想显示每个元素的属性

时间:2019-11-08 17:17:49

标签: c++

我创建了一个嵌套数组(female_double_entry),该数组由另一个数组(arr_female_double)中的元素组成,该数组分为2个。我试图显示嵌套数组的所有元素的“ city”属性,但是我不能,我收到一条错误消息:“与'operator <<'不匹配(操作数类型为'std :: ostream {aka std :: basic_ostream}'和'Player')””也许我在代码的其他部分做错了。下面的代码只是整个代码的一小部分。 “玩家”是我之前定义的具有“城市”属性的结构。抱歉,如果我没有任何意义,请忽略此问题。

std::vector<std::vector<Player> > female_double_entry(8, vector<Player>(2));

std::cout << "female_double_entry.size = "<< female_double_entry.size() << '\n';

for (int i = 0; i < 8; i++) { //there are 8 entries for female double players
    for (int j = 0; i < 1; j++) {
        female_double_entry[i][j] = arr_female_double[2*i];
        female_double_entry[i][j] = arr_female_double[2*i+1];
    }
}

std::cout << "female_double_entry array size: "<<female_double_entry.size()<< '\n';

for (int i = 0; i < 8; i++) {
    for (int j = 0; j < 2; j++) {
        std::cout<<female_double_entry[i][j].city;
    }
}

1 个答案:

答案 0 :(得分:0)

我在回答我的问题。首先,第一个嵌套循环中的第二行应为: female_double_entry [i] [j + i] = arr_female_double [2 * i + 1]; 并不是: female_double_entry [i] [j] = arr_female_double [2 * i + 1];

第二,当我将数组声明更改为普通数组时: 玩家female_double_entry [8] [2]; 我可以展示这座城市。不过,我不知道为什么矢量方法不起作用。