2017-07-12 6 views
1

J'ai ce code:std :: vector emplace et std :: vecteur emplace retour avec une paire

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 

Pouvez-vous me dire pourquoi?

+1

Il serait utile si vous nous avez dit * ce * erreurs que vous obtenez. S'il vous plaît [lisez sur comment poser de bonnes questions] (http://stackoverflow.com/help/how-to-ask), puis modifiez votre question pour inclure la sortie de compilation complète, complète et non éditée. –

Répondre