Мне нужно назначить итератор set <> указателю, в то время как я передаю set в качестве аргумента void ProcessVessel(ContainerTerminal* containerTerminal, set<ArrivedVessel> * arrivedVesselPool)
, тогда как
ArrivedVessel
- это класс, и после этого я сделал итератор std::set<ArrivedVessel>::iterator it;
для l oop, а для l oop for (it = arrivedVesselPool->begin(); it != arrivedVesselPool->end(); it++)
, до сих пор компилятор не показывал мне никакой ошибки, но когда я присваиваю it
указателю, который Vessel* currentVessel
подобен этому currentVessel = &(*it);
, компилятор выдает ошибку
A значение типа 'const ArrivedVessel *' нельзя присвоить объекту типа 'vessel *'.
Однако для преобразования итератора я нашел его по этой ссылке преобразование итератора в указатель но я не мог понять это прекрасно.
Вот фрагмент исходного кода
void ProcessVessel(set<ArrivedVessel> * arrivedVesselPool) {
std::set<ArrivedVessel>::iterator it;
for (it = arrivedVesselPool->begin(); it != arrivedVesselPool->end(); it++)
{
Vessel* currentVessel;
currentVessel = &(*it);}
Любые предложения будут очень полезны. Заранее спасибо.