2013-08-29 64 views
-1

我新望到C++(而不是新的總體規劃)C++繞過載體

我試圖把這種getOption,錯誤消息,抱怨這個調用:

getOption(
     "What do you want to do?", 
     std::vector<std::string>[ 
      "Add a person", 
      "Delete a person", 
      "Print database information", 
      "Report average age", 
      "List all names", 
      "Exit"]); 

不匹配下面的函數定義:

int getOption(std::string prompt, std::vector<std::string> choices) 

我那麼搜索,但我真的不明白是怎麼回事,足以拿出,將匹配已回答的問題的關鍵字。

我在這裏丟失了什麼C++概念?

+0

不要使用向量的方括號 – aaronman

回答

2

你只是搞砸了構造函數的語法。不要使用括號;使用大括號。 (這隻適用於C++ 11。)

+0

嗯,這工作。爲什麼編譯器不抱怨方括號? –

+0

@MrTi它確實,你得到了什麼錯誤 – aaronman

+0

要麼它做到了,你不明白這個消息,或者有一些瘋狂的方式來解釋這個字符序列,使它成爲有效的語法。 – user2357112

1

改爲使用大括號。這是構造函數中的初始化列表。它只適用於C++ 11。