如何管理结构类型XPoint的向量?

时间:2015-02-08 05:30:23

标签: c++ vector struct

晚上好。 是的,我是这个C和C ++世界的新手。 我该怎么做才能解决这个问题:

int i;
vector <XPoint> originales;
originales.reserve(7);
XPoint asteroid[5];
for(k = 0; k < 7; k++){
    for(i = 0; i < 5; i++){
        asteroid[i].x = rand() % 20 - 100;
        asteroid[i].y = rand() % 20 - 100;
    }
    originales.push_back(*asteroid);
}//end of first for

/*
    The XPoint structure contains:
    typedef struct {
        short x, y; 
    } XPoint; 
*/

当我打印时,坐标不完整。这是否意味着您无法将XPoint []数组保存在XPoint的矢量中?在那种情况下,我该如何解决? 请帮忙!

1 个答案:

答案 0 :(得分:1)

数组和向量不兼容。您push_back originales XPoint vector for(k = 0; k < 7; k++){ for(i = 0; i < 5; i++){ XPoint asteroid; asteroid.x = rand() % 20 - 100; asteroid.y = rand() % 20 - 100; originales.push_back(asteroid); } } 唯一可以{{1}}。但是{{1}}已经很好地处理了这种事情 - 它们是为它而制造的! - 所以你根本不需要额外的阵列:

{{1}}