Проблема с итераторами C ++

0

Таким образом, я потратил 30 минут на попытку получить рабочий итератор для списка, задающегося вопросом, что именно я делаю неправильно, но теперь я могу сказать, что Im искренне озадачен, если не проблема с xcode. Сначала я попытался создать итератор (listIterator), и xcode вернет ошибку "Ожидаемый" ("для стиля функции-cast или type construction". Однако, после того, как я устал от попытки скопировать и вставить строку, которую я нашел в другом месте в Stack для инициализации итератор, который, к счастью, отлично работает. Моя проблема в том, что обе строки идентичны, но только одна вызывает ошибку Изображение 174551

Может ли кто-нибудь объяснить мне, почему xcode только распознает, поднимает ошибку только для второго?

благодаря

Теги:
xcode
iterator

1 ответ

4
Лучший ответ

Вы объявляете переменную, называемую list. Таким образом, list в строке с ошибкой относится к этой переменной. Я предполагаю, что вы сделали что-то вроде using namespace std; - это один из примеров того, почему именно вы никогда не должны этого делать. Тогда вы могли бы:

 std::list<int> myIntList;
 std::list<int>::iterator myIntListIterator;

 std::list<int> list;
 std::list<int>::iterator listIterator;

Однако в реальной программе я не думаю, что только list всегда был бы подходящим именем переменной, поскольку он обозначает тип, а не использование.

  • 0
    Ах, это имело бы смысл! Ну, я, наверное, должен прислушаться к предупреждению и начать печатать мои std :: 's
  • 0
    @sonobenissimo, вам не обязательно начинать с ввода std :: для всего, достаточно написать «использование std :: cout» и т. д. для того, что вам конкретно нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню