Проблема не в find()
, а в вызове AddVehicale, потому что карта указывает const Base*
.Вам либо нужно сделать map
be map<string, Base *>
, либо убедиться, что AddVehicale
является методом const (что означает, что вы обещаете не изменять объект, указанный на карте), например, void Base::AddVehicale(Vehicale &v) const;
Насколько я знаю, компилятор будет выбирать, использовать ли const find или non-const find, основываясь на том, является ли сама карта константной в данный момент (например, если у вас есть константная ссылка на карту)
PS АВТОМОБИЛЬ это пишется Автомобиль (я использую Google для проверки правописания, если я не уверен, найдите слово, и оно предложит правильное написание)