2016-01-30 3 views
1

У меня есть этот метод, который я пытаюсь закончить, который после завершения должен построить ограниченный список выбора из вектора параметров, передаваемых в метод:Создание временного вектора

> int Program::SelectFromMenu(int x, int y, std::vector<std::string> options); 

Например, если бы я хотел иметь выбор меню в банковской системе, я мог бы добавить эти три строки в мой опции вектора, тогда метод будет отображать эти три варианта пользователю:

<"Withdraw", "Deposit", "Statement"> 

Они выбирают вариант, их решение будет вызывать метод. Легко ли? Я уже закодировал эту часть. Проблема заключается в получении самого вектора в метод:

В идеальном мире, я бы создать временный вектор, как это, и использовать его в качестве аргумента:

SelectFromMenu(2, 4, <"Withdraw", "Deposit", "Statement">); 

, но я не могу сделай это. Какими другими способами я могу добиться передачи вектора в метод? Я имею в виду, я мог бы создать метод, который конструирует вектор из строк, которые я передаю, но это похоже на неправильный способ сделать это.

Любая помощь будет оценена, спасибо.

ответ

2

Вы можете использовать braced-init-list:

SelectFromMenu(2, 4, {"Withdraw", "Deposit", "Statement"}); 
+0

Это буквально то, что ОП пытается сделать. +1 (Не знаю, откуда у них эта идея '<>') –

+0

Стоит мне плохо, компилирует. – Mitch89

+0

Извините, мой плохой. Я удалил paramater ранее вызываемый menusize, так как я мог бы получить это из options.size(), поэтому он не будет компилироваться. Спасибо за помощь! – Mitch89

Смежные вопросы