Ok вот фрагмент код, который я имею проблему с (именем класса был изменен из-за работу причину)C++ доступ к карте элементу с помощью ключа объекта указателя дает ошибку о недопустимой операции
const std::map<A*, std::pair<int, B*> > &aMap = ot->getAMap();
A *a = getAFromSomewhere();
B* b = aMap[a].second; //The line that the compilation error points to.
Error: The operation "
const std::map<A*, std::pair<int, B*>, std::less<A*>, std::allocator<std::pair<A*const, std::pair<int, B*>>>>[A*]
" is illegal.
кого есть идея, почему это так?
Это потому, что это недопустимо C++. 'B *' недействителен C++. –
Извините, я не понимаю, почему вы говорите, что это неверно. – Mox
aMap [a] должен вернуть пару, а секундомер должен получить доступ к B * – Mox