Newb вопрос здесь: Как я могу сохранить значение в Maptest [2] вместе с переменной? Я думал, что вы могли бы сделать это с помощью указателей, но это не работает:Обновление значений карты в C++
map<int, int*> MapTest; //create a map
int x = 7;
//this part gives an error:
//"Indirection requires pointer operand ("int" invalid)"
MapTest[2] = *x;
cout << MapTest[2]<<endl; //should print out 7...
x = 10;
cout <<MapTest[2]<<endl; //should print out 10...
Что я делаю неправильно?
Sidenote: Параметр '&' принимает адрес, то '*' является оператор разыменования и derefs указатель. – birryree
Поскольку вам нужен указатель на x, вы должны сделать что-то вроде этого: 'MapTest [2] = & x;' – lfxgroove
код неверен в нескольких аспектах. Должен быть «MapTest [2] = & x; 'и используйте' * MapTest [2] 'для доступа к значению. Вы знакомы с указателем? –