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