Как назначить вектор векторов строк, используя указатели на несколько векторов в C ++? - PullRequest
0 голосов
/ 21 августа 2011

Мне нужна помощь в поиске битов кода. Я не уверен, как заполнить вектор> используя указатели на несколько векторов строк.

Пожалуйста, вносите предложения только в те строки, которые содержат // ПОМОЩЬ, НУЖНАЯ ЗДЕСЬ

#include <iostream>
#include <string>
#include <vector>

using namespace std;

vector<string>* pointerReturner (string str1, string str2, string str3)
{
    vector<string> *vList = new vector<string>();
    vList->push_back(str1); 
    vList->push_back(str2);
        vList->push_back(str3); 
    return vList;
}

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

    vector<string> *vMakeList1;
        vMakeList1 = pointerReturner ("1","8-20-2011","Ford");

        vector<string> *vMakeList2;
    vMakeList2 = pointerReturner ("2","8-20-2011","Honda");

        vector<string> *vMakeList3;
        vMakeList3 = pointerReturner ("3","8-20-2011","Toyota");

        vector<vector<string>> *MakeList;

        //HELP NEEDED HERE

delete vMakeList1, vMakeList2, vMakeList3;


    vector<vector<string> >::iterator i = MakeList->begin();
    for( ; i != MakeList->end(); ++i)
    {
        vector<string>::iterator pos = (*i).begin();
        for ( ; pos!=(*i).end(); ++pos)
            cout << *pos << endl;
    }

    cin.get();
    return 0;
}

Результат - vector<vector<string>>, заполненный соответствующими данными.

Ответы [ 3 ]

1 голос
/ 21 августа 2011
MakeList = new vector<vector<string> > ();

MakeList->push_back(*vMakeList1);
MakeList->push_back(*vMakeList2);
MakeList->push_back(*vMakeList3);
0 голосов
/ 21 августа 2011

Ну,

vector<vector<string>> *MakeList = new vector<vector<string>>();
MakeList->push_back(*vMakeList1);
MakeList->push_back(*vMakeList2);
MakeList->push_back(*vMakeList3);

, кажется, делает эту работу.

Это не способ делать вещи, но вы, кажется, уже знаете об этом.

0 голосов
/ 21 августа 2011

Вы не можете. Вам понадобится vector<vector<string>*>* MakeList. И, слишком много указателей и new Бэтмен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...