Ключи std::map
являются постоянными. Таким образом, вы не можете изменить его.
Кроме того, если вы используете только x
для сравнения клавиш, то почему вы std::map<T,int>
? Почему бы не это:
std::map<int, std::pair<T,int> > data; //where keys would be t.x
В конце концов, на вашей карте ключи фактически t.x
.