2017-07-12 46 views
1

我有這樣的代碼:的std ::矢量佈設和std :: vector的佈設回來對

std::vector<std::pair<const std::string, int>> vec; 

vec.emplace_back("a", 1); //success 
vec.emplace(vec.end(), "b", 2); //compile error 

vec.emplace_back(std::make_pair<const std::string, int>("c", 3)); //success 
vec.emplace(vec.end(), 
    std::make_pair<const std::string, int>("d", 4)); //compile error 

你能解釋我爲什麼?

+1

如果你告訴我們*你得到了什麼*錯誤會有幫助。請[請閱讀如何提出問題](http://stackoverflow.com/help/how-to-ask),然後編輯您的問題以包含完整,完整和未編輯的構建輸出。 –

回答