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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
xSCJx
22 / 19 / 1
Регистрация: 24.12.2012
Сообщений: 435
#1

Error in std::find_if - C++

02.06.2013, 22:32. Просмотров 454. Ответов 6
Метки нет (Все метки)

Привет всем. Подскажите плз. Что std::find_if не поддерживает обратных итераторов? Почему этот код вызывает ошибку компиляции?
C++
1
2
std::array<int, 0xA> arr = { 1, 5, -8, 5, 10, -5, -1, 1, 3, 7 };
std::array<int, 0xA>::iterator pos = std::find_if(arr.rbegin(), arr.rend(), NegativePred);
Код
IntelliSense: no suitable user-defined conversion from "std::reverse_iterator<std::_Array_iterator<int, 10U>>" to "std::_Array_iterator<int, 10U>" exists
Добавлено через 1 минуту
Спасибо. Решено.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 22:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Error in std::find_if (C++):

Как использовать std::find_if? - C++
Добрый день! Хочу использовать find_if, в реализации сортировки вставками. Но с синтаксисом у меня проблема. Помогите исправить код ...

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri - C++
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка error: cannot convert 'std::string {aka...

Error: ambiguous overload for 'operator<<' (operand types are 'std::ofstream {aka std::basic_ofstream<char>}' - C++
на #define LOG(Variable) Log&lt;&lt;&quot;&lt;&quot;;...

Error LNK2019: ссылка на неразрешенный внешний символ "class std::basic_ostream<char,struct std:: - C++
Здравствуйте! Сразу попрошу прощения за тупой вопрос. Почему при перегрузке operator &lt;&lt; код template&lt;class T&gt; ostream &amp;operator &lt;&lt;...

Error C2664: std::vector<_Ty>::push: невозможно преобразовать параметр 1 из 'double' в 'const std::string &' - C++
#include &lt;iostream&gt; #include &lt;stack&gt; #include &lt;sstream&gt; #include &lt;string&gt; using namespace std; int main() { string...

Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream - C++
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++ 2005 Express Edition. Образ диска...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13214 / 7486 / 842
Регистрация: 27.09.2012
Сообщений: 18,403
Записей в блоге: 3
Завершенные тесты: 1
03.06.2013, 01:08 #2
Если передаете реверс итераторы, то и получите реверс итератор.
C++
1
std::array<int, 0xA>::reverse_iterator pos = std::find_if(arr.rbegin(), arr.rend(),NegativePred);
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2013, 10:56 #3
Croessmah, а вообще, надо использовать auto и не париться.
0
Croessmah
Эксперт CЭксперт С++
13214 / 7486 / 842
Регистрация: 27.09.2012
Сообщений: 18,403
Записей в блоге: 3
Завершенные тесты: 1
03.06.2013, 12:56 #4
Tulosba, auto не даст понимания возникшей ошибки
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2013, 13:17 #5
Цитата Сообщение от Croessmah Посмотреть сообщение
auto не даст понимания возникшей ошибки
Croessmah, зато даст ее отсутствие нет ошибки - и понимать нечего.
0
Croessmah
Эксперт CЭксперт С++
13214 / 7486 / 842
Регистрация: 27.09.2012
Сообщений: 18,403
Записей в блоге: 3
Завершенные тесты: 1
03.06.2013, 13:35 #6
Tulosba, Многие хотят узнать почему происходит ошибка, а не просто как ее исправить
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2013, 14:42 #7
Цитата Сообщение от Croessmah Посмотреть сообщение
Многие хотят узнать почему происходит ошибка, а не просто как ее исправить
Я с этим не спорю. Просто auto в таких случаях, помимо сокращения времени ввода кода, помогает еще и не заморачиваться с выяснение возвращаемого типа. Что в итоге повышает КПД программиста.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2013, 14:42
Привет! Вот еще темы с ответами:

Error: 'move' is not a member of 'std' - C++
Как бороться с этой гогой?

std::vector<T>.push_back(T) - Error - C++
Не пойму в чем дело, но при добавлении (CTextureManager :: load(const char* file)) в вектор – структуры, выскакивает ошибка...(в...

error: 'numeric_limits' is not a member of 'std' - C++
Как бороться с этой гогой?

Error C2440 std::vector<_Ty> - C++
класс CFilename class CFilename { public: CFilename() { } CFilename(const char* pFilename) { m_sRaw = pFilename; } ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.06.2013, 14:42
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru