#include <iostream>
#include <map>
#include <utility>
int main()
{
std::pair<std::string, std::string> p;
std::map< std::pair<std::string, std::string>, short> m;
// p = std::make_pair("A", "a1");
m.insert(std::make_pair("A", "a1"), 10);
return 0;
}
Этот код выдает следующую ошибку
maptest.cpp: In function ‘int main()’:
maptest.cpp:9: error: no matching function for call to
‘std::map<std::pair<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, short int,
std::less<std::pair<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > > >, std::allocator<std::pair<const
std::pair<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::basic_string<char, std::char_traits<char>,
std::allocator<char> > >, short int> > >::insert(std::pair<const char*,
const char*>, int)’
Я пытаюсь вставить стандартную карту. KWY - это стандартная пара, а значение - короткое. Но я получаю вышеупомянутую ошибку.
Что я здесь не так делаю? Пожалуйста, помогите.