Как вызвать конструктор вектора в сигнатуре функции?

Ya Zaregalsya

Известный
Автор темы
378
129
Вопрос в заголовке. Есть функция, которая принимает стд вектор в качестве аргумента, нужно прямо в сигнатуре этот вектор создать, заполнить и передать в функцию. Задача стоит так, потому что сделать это нужно в теле класса при объявлении одного из полей.
 
Решение
Давай конкретнее опиши, что ты хочешь сделать, а то чувствую, что дело пахнет писюнами.
Короче если у нас есть функция типа void setVector(std::vector<std::string> a), то фигурных скобок достаточно, чтобы конструктор вектора вызвался сам: setVector({ "abc", "abc", "abc" }), а я пытался вызвать его явно типа std::vector<std::string> {...}, что было ошибкой.

Ya Zaregalsya

Известный
Автор темы
378
129
Давай конкретнее опиши, что ты хочешь сделать, а то чувствую, что дело пахнет писюнами.
Короче если у нас есть функция типа void setVector(std::vector<std::string> a), то фигурных скобок достаточно, чтобы конструктор вектора вызвался сам: setVector({ "abc", "abc", "abc" }), а я пытался вызвать его явно типа std::vector<std::string> {...}, что было ошибкой.