Передав "vector <string>" в качестве аргумента функции, я получаю ошибку - PullRequest
0 голосов
/ 04 марта 2019

Я продолжил реализацию своей функции сохранения и получил идею передать мои аргументы как «вектор» (потому что они есть) вместо «строки», что дает следующее:

void saveFunction(ofstream& save, vector<string> site, vector<string> url, vector<string> username, vector<string> password)
{
    save << site;
    save << url;
    save << username;
    save << password;

}

, чтовыдает эту ошибку:

error: no match for 'operator<<' (operand types are 'std::ofstream' {aka 'std::basic_ofstream<char>'} and 'std::vector<std::__cxx11::basic_string<char> >')

1 Ответ

0 голосов
/ 04 марта 2019

ofstream не имеет перегруженного оператора << для std::vector, поэтому вам нужно выполнить его самостоятельно, например

for (auto&& s : username){
    save << s;
}

, хотя ваши причины для использования std::vector могутбыть сомнительным.

...