[英]How to initialize a vector of pair of string,string in a c++ class?
如何在C ++類中初始化一對字符串的向量? 我嘗試了幾件事但沒有成功。
vector<pair<string,string>> myVec(); //doesn't work
沒有必要以這種方式初始化向量
vector<pair<string,string>> myVec();
它是一個名為myVec
的函數聲明,它沒有參數,並且返回類型為vector<pair<string,string>>
簡單地寫就足夠了
vector<pair<string,string>> myVec;
因為在任何情況下你都在創建一個空矢量。
或者,如果您希望向量具有一些初始值,並且您的編譯器支持C ++ 2011,那么您也可以編寫例如
std::vector<std::pair<std::string, std::string>> myVec =
{
{ "first", "first" }, { "second", "second" }, { "third", "third" }
};
如果你使用()
你會遇到最令人煩惱的解析 。 您聲明了一個不帶參數的函數myVec
,並返回一個vector<pair<string, string>>
切換到{}
vector<pair<string,string>> myVec{};
試着像這樣使用它,目前你的函數myVec
沒有參數並返回vector<pair<string,string>>
:
vector<pair<string,string>> myVec{};
要么
vector<pair<string,string>> myVec;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.