реализовать вектор карт в C ++ - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь написать код, чтобы сделать вектор карт для хранения частей строки, разделив ее.Этот код дает длинные ошибки компиляции, я не могу понять, в чем проблема.Проблема с способом инициализации

#include <bits/stdc++.h>
using namespace std;

vector<string> split(string phrase, string delimiter){
    vector<string> list;
    string s = phrase;
    size_t pos = 0;
    string token;
    while ((pos = s.find(delimiter)) != string::npos) {
        token = s.substr(0, pos);
        list.push_back(token);
        s.erase(0, pos + delimiter.length());
    }
    list.push_back(s);
    return list;
}

int main() {
    string line = "tunilib;sebesta;prog lang;14";
    vector<string> splitstring = split(line, ";");
    vector< map<string,string,string,string> > elements;
    map<string,string,string,string> element;
    element["library"] = splitstring[0];
    element["author"] = splitstring[1];
    element["title"] = splitstring[2];
    element["reservation"] = splitstring[3];
    elements.push_back(element);
    for(auto i:splitstring) cout<<i<<" ";
    cout<<"success";
    return 0;
}

1 Ответ

1 голос
/ 06 марта 2019

Ошибка была в объявлении, просто измените

map<string,string,string,string>

на

map<string,string>

, так как я хотел создать список пар ключ-значение.

@ user4581301спасибо за комментарий

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