С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
#1

Оибка vector iterators incompatible ? - C++

09.11.2012, 03:45. Просмотров 822. Ответов 3
Метки нет (Все метки)

привет всем ! вот код
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
class rgb2hsl
{
public:
    rgb2hsl(vector<int> r, vector<int> g
        , vector<int> b): R(r.begin(), r.end()), G(g.begin(), g.end())
    , B(b.begin(), b.end()) { }
    vector<int> minusGB()
    {   
        vector<int> result;
        transform(G.begin(), G.end(), B.begin(), back_inserter(result), minus<int>()); 
        return result;
    }
    vector<int> minusBR()
    {
        vector<int> result;
        transform(B.begin(), B.end(), R.begin(), back_inserter(result), minus<int>());
        return result;
    }
    vector<int> minusRG()
    {
        vector<int> result;
        transform(R.begin(), R.end(), G.begin(), back_inserter(result), minus<int>());
        return result;
    }
private:
    vector<int> R; vector<int> G; vector<int> B;
теперь когда добавляешь такую функцию
C++
1
2
3
4
5
6
7
8
void show()
{
     copy(minusRG().begin(), minusRG().end(), ostream_iterator<int>(cout, " "));
     cout<<endl;
     copy(minusBR().begin(), minusBR().end(), ostream_iterator<int>(cout, " "));
     cout<<endl;
     copy(minusGB().begin(), minusGB().end(), ostream_iterator<int>(cout, " "));
}
и когда ее вызываешь из клиентской области, вылетает такая ошибка
объясните что эта за ошибка и как ее исправить ?
0
Миниатюры
Оибка vector iterators incompatible ?  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2012, 03:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оибка vector iterators incompatible ? (C++):

vector(выскакивает ошибка "vector iterators incompatible") - C++
Доброго времени суток! имеется следующий код: // obr.cpp : Defines the entry point for the console application. // #include...

Map/set iterators are incompatible - C++
void Delete(int a , int b) { multiset &lt;double&gt; ::iterator First, Last; multiset &lt;double&gt; ::iterator temp; int i = 0; ...

Программа аварийно завершается с ошибкой "map/set iterators are incompatible" - C++
Добрый день! Проблема такая: в s1 и s2 рандомно добавляю числа, хочу найти объединение этих множеств. Если использовать такой код, то все в...

Где оибка не мог ни как понять - C++
#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include &lt;numeric&gt; #include &lt;iterator&gt; int main() int f, s; { ...

STL Iterators - C++
Допустим есть проект #ifndef ContainerTemplateFunction_hpp // Preprocessor gates #define ContainerTemplateFunction_hpp ...

iterators & file - C++
можно ли считывать итераторами с файла типу так: #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;iterator&gt; #include &lt;vector&gt; ...

3
Kuzia domovenok
2078 / 1907 / 176
Регистрация: 25.03.2012
Сообщений: 6,572
Записей в блоге: 1
09.11.2012, 03:57 #2
скомпилируй и построй в release. Чёрт с ней, с ошибкой.
0
Виталий123
-96 / 5 / 2
Регистрация: 29.11.2011
Сообщений: 84
09.11.2012, 04:02  [ТС] #3
Kuzia domovenok, так не пойдет...да и все так ошибки не избежать...
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
09.11.2012, 04:19 #4
Если так сделать, то будет работать:
C++
1
2
vector <int> temp = minusRG();
copy(temp.begin(), temp.end(), ostream_iterator<int>(cout, " "));
Добавлено через 2 минуты
В show() происходит работа с локальлным объектом, созданным в minusRG(), без предварительного сохранения его. Из-за этого, скорее всего, и ошибка.
1
09.11.2012, 04:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2012, 04:19
Привет! Вот еще темы с ответами:

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main - C++
//Vector.h #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;climits&gt; #include &lt;vector&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt;...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) - C++
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало интересно, как нужно изменить программу...

Ошибка [Linker error] undefined reference to `Vector::Vector(int)' - C++
Добрый день. Делал по методички, и почему-то валятся ошибки... файл lab9_main.cpp #include &lt;iostream&gt; #include &quot;Vector.h&quot; int...

vector<Struct2{int,vector<struct1>}> или множественное наследование ... - C++
Здравствуйте! Помогите, пожалуйста. Есть такие данные: typedef struct { int x; int y; // координаты...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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