Я использую VSCode, и вот мой код:
std::map map1;
Item i1("x", 5);
map1.insert({1, std::move(i1)}); // works
Item i2("y", 6);
//map1[2] = i2; // problem
std::map map2;
map2[3] = 4; // works
Ошибка, которую я получаю с map1[2] = i2; довольно неясна:
[img]https: //i.sstatic.net/t9KYvFyf.png[/img]
Для полноты картины я добавляю свой класс Item:
class Item {
private:
std::string name;
int value;
public:
Item(std::string name_arg, int value_arg): name(name_arg), value(value_arg) {}
};
Подробнее здесь: https://stackoverflow.com/questions/793 ... uses-error