Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 2
1

Multimap. Ошибка operator+ not implemented in type multimap

03.06.2015, 15:38. Показов 1741. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я начинающий в си, есть задача подсчета частоты встречаемости символов, делал через ассоциативный массив map<char, int>, программа работала, ввиду невозможности отсортировать map по int, т.к. последний по умолчанию сортирует по ключу, решил переделать в mulimap. Как только я сменил map на multimap, билдер ругается на
C++
1
m[c[i]]++;
:
[C++ Error] Unit1.cpp(24): E2094 'operator+' not implemented in type 'multimap<char,int,less<char>,allocator<pair<const char,int> > >' for arguments of type 'char'
Помогите, в чем проблема?



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
27
28
29
30
31
32
33
34
35
36
37
38
//---------------------------------------------------------------------------
#include <iostream.h>
#include <conio.h>
#include <map>
#include <algorithm>
#define N 200
//---------------------------------------------------------------------------
 
#pragma argsused
 
int i, a, j;
char c[N];
multimap<char, int> m;
int main()
{
for (int i=0; i<N;i++)
{
c[i]=0;
}
cout<<"Enter crypto"<<endl;
cin.getline(c,N);
for(int i=0;i<N;i++)
{
m[c[i]]++;
}
cout<<"\nRepeat rate: "<<endl;
multimap<char, int>::iterator t;
for(t=m.begin();t!=m.end();t++)
{
if((*t).first==0)continue;
{
cout<<(*t).first<<"-"<<(*t).second<<endl;
}
}
getch();
}
 
//---------------------------------------------------------------------------
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2015, 15:38
Ответы с готовыми решениями:

Ошибка: E2093 operator '<' not implemented in type 'myString' for arguments of the same type
Пишет _function_base.h(73):E2093'operator&lt;'not implemented in type 'myString' for arguments of the...

E2094 'operator<<' not implemented in type 'ostream' for arguments of type 'Binary'
Здравствуйте, уважаемые форумчане, выкидываю код: #include &lt;iostream&gt; #include &lt;string&gt; #include...

Ошибка с multimap
Здравствуйте, помогите пожалуйста разобраться есть multimap переменная T_rules, в которой лежат...

Ошибка: 'operator<<' not implemented in type 'istream' for arguments of type 'int'
Создаем самую простую прогу: int sgrt(int); #pragma argsused int main(int argc, char* argv) { ...

3
Эксперт С++
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
03.06.2015, 23:30 2
Цитата Сообщение от darth_maul Посмотреть сообщение
m[c[i]]++;
error: no match for ‘operator[]’ (operand types are ‘std::multimap<char, int>’ and ‘char’)
m[c[i]]++;
это не мап, а мультимап.
у мультимапа нет operator[]

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
27
28
//---------------------------------------------------------------------------
#include <iostream>
#include <map>
//---------------------------------------------------------------------------
 
using namespace std;
 
int main()
{
    
    const size_t N = 200;
 
    char c[N] = {};
 
    map<char, int> m;
 
    
    cout<<"Enter crypto"<<endl;
    cin.getline(c, N);
 
    for(const auto& i: c)
        ++m[i];
        
    cout<<"\nRepeat rate: "<<endl;
    for(const auto& pair: m)
        cout<<pair.first<<"-"<<pair.second<<endl;
}
//---------------------------------------------------------------------------
0
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 2
05.06.2015, 22:05  [ТС] 3
Почему то билдер ругается на 4 строчки(не могу понять почему), вы в чем то другом писали?
13 expression expected
21 reference variable 'i' must be initialized ; declaration syntax error
23 expression syntax
26 for statement missing
0
Эксперт С++
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
05.06.2015, 23:11 4
Цитата Сообщение от darth_maul Посмотреть сообщение
Почему то билдер
потому что быдлер, и не дружит с с++11.
0
05.06.2015, 23:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2015, 23:11
Помогаю со студенческими работами здесь

Ошибка в C++ Builder ( 'operator<<' not implemented in type 'Pages' for arguments of type)
Доброго времени суток! помогите пожалуйста, у меня не выводит из контейнера map. #include...

E2094 'operator>>' not implemented in type 'ostream' for arguments of type 'int'
Начал осваивать C++ по Дейтелу &quot;как программировать на с++&quot;. Пользуюсь Borland C++ Builder 6....

С++ not implemented in type 'istream' for arguments of type 'float *'из-за чего эта ошибка и как исправить?
Написал программу для расчёта площади четырёхугольника и круга. Использовал простые операторы...

MultiMap
Всем привет.Пишу что-то на подобие MultiMap. И все бы хорошо, но тут встал вопрос об итераторах....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru