2016-01-30 94 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

这是字面上什么OP是试图做。 +1(不知道他们从哪里得到这个'''''主意) –

+0

我的不好,编译。 – Mitch89

+0

对不起,我的坏。我之前删除了一个称为menusize的参数,因为我可以从options.size()中得到它,这就是为什么它不能编译。谢谢您的帮助! – Mitch89