首页 > 解决方案 > 我有一个嵌套数组,它由另一个数组中的元素组成 2 。之后,我想显示每个元素的属性

问题描述

我创建了一个嵌套数组(female_double_entry),由另一个数组(arr_female_double)中的元素组成,分组为 2。我试图显示嵌套数组的所有元素的“城市”属性,但我不能,我得到一个错误提示“'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;
    }
}

标签: c++

解决方案


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

其次,当我把数组声明改为普通数组时: Player female_double_entry[8][2]; 我可以展示这座城市。我不知道为什么矢量方法不起作用。


推荐阅读