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

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

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

Error in std::find_if - C++

02.06.2013, 22:32. Просмотров 443. Ответов 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 минуту
Спасибо. Решено.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2013, 22:32     Error in std::find_if
Посмотрите здесь:

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

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

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

Error: 'move' 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; } ...

Error C2440: =: невозможно преобразовать 'std::string' в 'double' - C++
&gt;c:\users\nreshetova\documents\visual studio 2008\projects\sort3d1\sort3d1\sort3d1.cpp(73) : error C2440: =: невозможно преобразовать...

Error C2039: 'Sth' : is not a member of 'std::vector<_Ty>' - C++
#include &lt;iostream&gt; #include &lt;vector&gt; using std::cin; using std::cout; using std::endl; using namespace std; struct...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
03.06.2013, 01:08     Error in std::find_if #2
Если передаете реверс итераторы, то и получите реверс итератор.
C++
1
std::array<int, 0xA>::reverse_iterator pos = std::find_if(arr.rbegin(), arr.rend(),NegativePred);
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2013, 10:56     Error in std::find_if #3
Croessmah, а вообще, надо использовать auto и не париться.
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
03.06.2013, 12:56     Error in std::find_if #4
Tulosba, auto не даст понимания возникшей ошибки
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2013, 13:17     Error in std::find_if #5
Цитата Сообщение от Croessmah Посмотреть сообщение
auto не даст понимания возникшей ошибки
Croessmah, зато даст ее отсутствие нет ошибки - и понимать нечего.
Croessmah
Модератор
Эксперт CЭксперт С++
13054 / 7317 / 815
Регистрация: 27.09.2012
Сообщений: 18,053
Записей в блоге: 3
Завершенные тесты: 1
03.06.2013, 13:35     Error in std::find_if #6
Tulosba, Многие хотят узнать почему происходит ошибка, а не просто как ее исправить
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2013, 14:42     Error in std::find_if
Еще ссылки по теме:

Error C2668: std::to_string: неоднозначный вызов перегруженной функции - C++
вот код #include &quot;stdafx.h&quot; #include &lt;Windows.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int...

Сортировка std::list ошибка компиляции algorithm 3868 error C2784 - C++
Добрый день, есть пользовательский класс, с вектором в качестве контейнера всё работает хорошо. А вот со списком вылетает ошибка: код:...

Find_if - C++
#include &quot;stdafx.h&quot; #include &lt;vector&gt; #include &lt; map&gt; #include &lt;string&gt; #include &lt;algorithm&gt; using namespace std; class...

C:\Projects\mmz\Compile\CompileAMD64\mmzCompileAMD64\TProjec t.cpp|74|error: declaration of 'std::ofstream File' shadows - C++
error: declaration of 'std::ofstream File' shadows a parameter| std::ofstream File;

algorithm: find_if - C++
В етой задачке должно виводить симетрическии числа но не делает етого Почему подскажите:-#include&lt;iostream&gt; #include&lt;algorithm&gt; ...


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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
03.06.2013, 14:42     Error in std::find_if #7
Цитата Сообщение от Croessmah Посмотреть сообщение
Многие хотят узнать почему происходит ошибка, а не просто как ее исправить
Я с этим не спорю. Просто auto в таких случаях, помимо сокращения времени ввода кода, помогает еще и не заморачиваться с выяснение возвращаемого типа. Что в итоге повышает КПД программиста.
Yandex
Объявления
03.06.2013, 14:42     Error in std::find_if
Ответ Создать тему
Опции темы

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