给我一个提示或(答案)矢量初始化

时间:2015-02-18 07:00:52

标签: c++ vector

我真的很难过,我不知道该怎么做。 我有这个,

struct TeamS
{
    int ID;
    string MEMBERS[3];
};

void Initialize (vector <TeamS> & TeamV, const int id[], 
     const string m[][NUM_MEMBERS], int arraySize);


int main()
{
    vector <string> TeamV;
//not sure TeamV is supposed to be int or string

const int ID[NUM_TEAMS] = { 123, 321, 456, 789 };
const string MEMBERS[NUM_TEAMS][NUM_MEMBERS] =
{
    { "Sarah", "Joe", "John" },
    { "Chris", "Kevin", "James" },
    { "Tom", "Kim", "Emily" },
    { "Jill", "Jason", "Jim" }
};

cout << "Starting Initialization" << endl;
cout << "Ending   Initialization" << endl;

}

我必须使用这个原型 这是:

void Initialize (vector <TeamS> & TeamV, const int id[], 
     const string m[][NUM_MEMBERS], int arraySize);

传入空向量和数组

例如, 向量的第一个元素将具有团队ID:123和成员:Sarah,Joe和John 向量的第二个元素将包含团队ID:321和成员:Chris,Kevin和James,等等。

我该怎么做?

我必须使用push_back ??

还是比我想的容易得多?

2 个答案:

答案 0 :(得分:0)

我认为你想让TeamV成为TeamS类型的向量,因此TeamV中的每个元素都可以包含有关团队的信息(ID和MEMBERS)。使用push_back()方法听起来是个好主意,试一试

答案 1 :(得分:0)

vector <string> TeamV; ==&gt;这必须是“vector<TeamS> TeamV;

要向向量添加元素,首先需要构建单个条目。 类似的东西:

TeamV.push_back(TeamS());
TeamV[0].ID = id[0];
std::copy(m[0], m[0] + NUM_MEMBERS, TeamV[0].MEMBERS);