Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2018, 23:55   #1
NIKITAY
Пользователь
 
Регистрация: 30.01.2016
Сообщений: 34
По умолчанию Ошибка C2440 приведение типов: невозможно преобразовать "std::_Array_iterator<_Ty,65>" в "int"

Код:
for (ptr = arr.begin(); ptr != arr.end(); ptr++)
Ошибка C2440 приведение типов: невозможно преобразовать "std::_Array_iterator<_Ty,65>" в "int"
NIKITAY вне форума Ответить с цитированием
Старый 30.12.2018, 00:04   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Ну так объявления где?
p51x вне форума Ответить с цитированием
Старый 30.12.2018, 00:06   #3
NIKITAY
Пользователь
 
Регистрация: 30.01.2016
Сообщений: 34
По умолчанию

std::array<int, size> arr;
NIKITAY вне форума Ответить с цитированием
Старый 30.12.2018, 00:08   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

ptr кто? остальные итак понятны
p51x вне форума Ответить с цитированием
Старый 30.12.2018, 00:09   #5
NIKITAY
Пользователь
 
Регистрация: 30.01.2016
Сообщений: 34
По умолчанию

short *ptr;
int size = 23;
NIKITAY вне форума Ответить с цитированием
Старый 30.12.2018, 00:12   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Ну так вы не видите, что присваиваете указателю итератор? О чем вам и написали.
p51x вне форума Ответить с цитированием
Старый 30.12.2018, 00:16   #7
NIKITAY
Пользователь
 
Регистрация: 30.01.2016
Сообщений: 34
По умолчанию

ладно, до меня не доходит. Как мне перебрать массив, что бы сравнить с другим массивом?
std::array<int, size> arr;
std::array<short, size> mas;
NIKITAY вне форума Ответить с цитированием
Старый 30.12.2018, 00:28   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Код:
std::equal(std::begin(arr), std::end(arr), std::begin(mas), std::end(mas));
p51x вне форума Ответить с цитированием
Старый 30.12.2018, 04:13   #9
NIKITAY
Пользователь
 
Регистрация: 30.01.2016
Сообщений: 34
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Код:
std::equal(std::begin(arr), std::end(arr), std::begin(mas), std::end(mas));
так и вернет false, размер разный же
NIKITAY вне форума Ответить с цитированием
Старый 30.12.2018, 09:50   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

1. У вас size меняется?
2. И что не так? Если размер разный, то массивы не одинаковы.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не удается неявно преобразовать тип "int" в "int[]" Жека123456 C# (си шарп) 9 19.04.2017 16:46
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
error C2664: PrintArray: невозможно преобразовать параметр 1 из "int **" в "const int **" revizor Помощь студентам 6 07.05.2013 14:07
Неявное преобразование типа "string" в "int" невозможно artscorp C# (си шарп) 4 10.02.2013 20:59
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23