Форум программистов, компьютерный форум CyberForum.ru

Ошибка с итераторами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти значение функции http://www.cyberforum.ru/cpp-beginners/thread1631752.html
Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x) и |Y(x)–S(x)| и вывести в виде таблицы. Значения a, b, h и n вводятся с клавиатуры. Работу программы проверить для a = 0,1; b = 1,0; h = 0,1; значение параметра n выбрать в зависимости от задания.
C++ Вычисление значения А в зависимости от поставленного условия Составить программу для вычисления значения rez в зависимости от поставленного условия. Для получения результатов подобрать исходные данные так, чтобы выполнялись все возможные ветви алгоритма. Перед выводом полученного результата должно выводиться сообщение о ветви, при прохождении которой он получен. Обратите внимание, что возможен случай, при котором исходные данные не будут подходить ни для... http://www.cyberforum.ru/cpp-beginners/thread1631746.html
C++ Вычисление указанной величины
Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.
C++ Структура внутри класса
Есть такой вопрос, целесообразно ли делать вот так: class StudentGroup { private: struct Student { string name; string phone; string dateOfBirth; };
C++ Вычислить значение y в зависимости от выбранной функции f(x) http://www.cyberforum.ru/cpp-beginners/thread1631737.html
Вычислить значение y в зависимости от выбранной функции f(x), аргумент которой определяется из поставленного условия. Возможные значения функции f(x): 2x, x2, х/3 задаются пользователем с клавиатуры. Предусмотреть вывод сообщений, показывающих, при каком условии и с какой функцией производились вычисления у. y=\frac{d*f(x)*e{}^{sin{}^{3}x}+c*ln(x+1)}{\sqrt{x}}, x=\left\{\begin{matrix}\\...
C++ Вычислить значение y в зависимости от выбранной функции f(x), аргумент которой определяется из поставленного у Вычислить значение y в зависимости от выбранной функции f(x), аргумент которой определяется из поставленного условия. Возможные значения функции f(x): 2x, x2, х/3 задаются пользователем с клавиатуры. Предусмотреть вывод сообщений, показывающих, при каком условии и с какой функцией производились вычисления у. y=\frac{d*f(x)*e{}^{sin{}^{3}x}+c*ln(x+1)}{\sqrt{x}}, x=\left\{\begin{matrix}\\... подробнее

Показать сообщение отдельно
Nosey
 Аватар для Nosey
1184 / 351 / 102
Регистрация: 22.10.2014
Сообщений: 786
Завершенные тесты: 2
04.01.2016, 23:53     Ошибка с итераторами
phantom256,
iter в цикле у вас является типом std::vector<TwoShape*>::iterator.
У него переопределён оператор -> который "делегирует" вызов соответствующему объекту типа "TwoShape*" - который является указателем.
Теперь читаем ошибку :
Код
request for member 'Area' in '* iter.__gnu_cxx::__normal_iterator<_Iterator, _Container>::operator-><TwoShape**, std::vector<TwoShape*> >()', which is of pointer type 'TwoShape*' (maybe you meant to use '->' ?)|
Код
Вызов члена "Area" в "блаблабла" который является указателем на 'TwoShape*'( может быть вы подразумевали использовать ->?)
А теперь "по-русски" : ваш iter "является" типом "указатель на указатель на TwoShape", вами использованный оператор -> "разыменовал" только один указатель. (обратите внимание на кавычки )
т.е. решение явно "разыменовать" "указатель" и вызвать ареа вот так :
C++
1
(*iter)->Area()
 
Текущее время: 18:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru