Таким образом, я потратил 30 минут на попытку получить рабочий итератор для списка, задающегося вопросом, что именно я делаю неправильно, но теперь я могу сказать, что Im искренне озадачен, если не проблема с xcode. Сначала я попытался создать итератор (listIterator), и xcode вернет ошибку "Ожидаемый" ("для стиля функции-cast или type construction". Однако, после того, как я устал от попытки скопировать и вставить строку, которую я нашел в другом месте в Stack для инициализации итератор, который, к счастью, отлично работает. Моя проблема в том, что обе строки идентичны, но только одна вызывает ошибку
Может ли кто-нибудь объяснить мне, почему xcode только распознает, поднимает ошибку только для второго?
благодаря
Вы объявляете переменную, называемую list
. Таким образом, list
в строке с ошибкой относится к этой переменной. Я предполагаю, что вы сделали что-то вроде using namespace std;
- это один из примеров того, почему именно вы никогда не должны этого делать. Тогда вы могли бы:
std::list<int> myIntList;
std::list<int>::iterator myIntListIterator;
std::list<int> list;
std::list<int>::iterator listIterator;
Однако в реальной программе я не думаю, что только list
всегда был бы подходящим именем переменной, поскольку он обозначает тип, а не использование.