Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
18 / 18 / 7
Регистрация: 07.11.2010
Сообщений: 136

Шаблоны, "invalid iterator range"

20.04.2011, 11:27. Показов 1613. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
написать шаблонную функцию которая копирует значения с интервала [begin, end) в интервал что начинаетса с dst

функцию написал
C++
1
2
3
4
5
template<typename T> void copy(T* dst, const T* begin, const T* end)
{
        for(int i =0 ; (begin + i) < end ; i++)
            dst[i] = begin[i];
}
C++
1
2
3
4
5
6
template<typename T> void rand_arr( T* data,  int size)
{
    for (int i=0; i<size; i++ )
        data[i] = (T)((rand()%255) +1);
 
}
в мейне
C++
1
2
3
4
5
6
int size = 10;
    int *m = new int [size];
    int *n = new int[size];
rand_arr(m,size);
 
    copy(n,m,m+10);
при запуске програмы когда компилятор доходит до функции копи возникает ошибка invalid iterator range
где я накосячил?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.04.2011, 11:27
Ответы с готовыми решениями:

Vertor erase iterator outside range
Всем привет! Пытаюсь разобраться с кодом алгоритма шифрования методом Хаффмана, и наткнулся на ошибку (скрин в приложении). Что в этом...

Cant dereference out of range vector iterator
Дано две строки одинаковой длины. Строки состоят из символов 0 и 1. Над второй строкой можно выполнять следующие действия: удалить...

Vector iterator + offset out of range
Вылазит такая ошибка. Подскажите, из-за чего она может вылезти?

4
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
20.04.2011, 11:45
да все работает на самом деле
вот прокачал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <cstdlib>
#include <algorithm>
#include <iterator>
#include <iostream>
 
template<class T_in, class T_out> void copy(T_out dst, T_in begin, T_in end)
{
  for( ; begin != end ; ) *dst++ = *begin++;
}
 
template<typename T> void rand_arr( T* data,  int size)
{
        for (int i=0; i<size; i++ )
                data[i] = (T)((rand()%255) +1);
 
}
 
int main(){
        int size = 10;
        int *m = new int [size];
        int *n = new int[size];
        rand_arr(m,size);
        copy(n,m,m+10);
        std::ostream_iterator<int> it( std::cout, " " ); 
        copy( it, m, m+10 );
}
1
18 / 18 / 7
Регистрация: 07.11.2010
Сообщений: 136
20.04.2011, 15:31  [ТС]
странно у меня вылетает вот такое окно,
http://saveimg.ru/pictures/20-... 183cee.png
сейчас попробую ваш вариант

Добавлено через 6 минут
Ваш код работает,
только не могу понять что это за строчка такая?
Code
1
 std::ostream_iterator<int> it( std::cout, " " );
Добавлено через 1 час 10 минут
и ещо чем отличаетса
Code
1
2
template<class .... от
template<typename.....
?

Добавлено через 2 часа 6 минут
с итераторами я немного уже понял...
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
20.04.2011, 18:01
mansp, в параметре шаблона typename от class не отличается ничем.
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
20.04.2011, 18:48
Цитата Сообщение от mansp Посмотреть сообщение
только не могу понять что это за строчка такая?
итератор потока вывода
*it = 10
означает сделать вывести в поток 10 и добавить пробел
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.04.2011, 18:48
Помогаю со студенческими работами здесь

Vector <bool> erase iterator outside range
Помогите, пожалуйста. При компиляции появляется ошибка (фото ниже). Это реализация алгоритма Хаффмана. Не могу понять, что не так, по...

Ошибка “vector<bool> erase iterator outside range” при работе алгоритма Хаффмана
Проблема с функцией BuildTable. Компилируется, но в процессе работы возникает ошибка. // Huffmann.cpp: определяет точку входа для...

Странная ошибка invalid initialization of non-const reference of type 'std::vector<oneVec>::iterator&
Пишу я значит двухмерный вектор, решаю проверить наличие ошибок(я просто компилирую) и выдают такую замудрёную ошибку: 36:53: error:...

Вызов исключения " vector erase iterator outside range"
В первой же итерации цикла просходит вызов исключения на 8 строчке кода : &quot; vector erase iterator outside range&quot;. Я не могу понять...

std::sort(iterator, iterator, method) подскажите как исправить
Уважаемые Знатоки!!! Вашему вниманию предоставляю код: #include &quot;stdafx.h&quot; #include &lt;vector&gt; #include &lt;algorithm&gt; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru