Я новичок в c ++, и у меня есть назначение на вектор / итераторы. Я столкнулся с проблемой, которую мне удалось решить с помощью поиска в Интернете, но, к сожалению, форумы, которые я посетил, только предоставили решение и не объяснили, почему оно работает. Вот проблема, с которой я столкнулся:
std::vector::<Student*>::iterator iter;
for (iter = v_students.begin(); iter != v_students.end(); iter++)
{
iter*->doStuff(); // Gave me a compile error
}
Я долго пытался решить эту ошибку, но не нашел на форуме кого-то, кто предлагал бы вместо этого:
(*iter)->doStuff;
Размещение * перед итератором и размещение () вокруг него, похоже, решают проблему, но я хотел бы понять, почему. Спасибо!