Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/19: Рейтинг темы: голосов - 19, средняя оценка - 5.00
 Аватар для Мысщъ
0 / 0 / 0
Регистрация: 25.02.2007
Сообщений: 37

Vector - помогите разобраться

26.05.2008, 12:51. Показов 3712. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите нубу разобраться с вектором - потому что я явно чего-то не понимаю с ним. код такой:
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
enum Action_f //это флаг операции, по которому будет производиться выбор операции
{
 plus_f, // сложение
 minus_f, // вычитание
 div_f, // деление
 mult_f // умножение
};
 
float calc_result_func(const string& expr)
{
    vector<Action_f> order_vec[1];
    Action_f temp_flag;
    for (int i=0;i!=expr.size();i++)
    {
        switch (expr[i])
        {
        case '+': 
            {/*order_vec.resize(order_vec.size+1)*/
            order_vec[i]=plus_f; 
            break;}
        case '-': 
            {/*order_vec.resize(order_vec.size+1)*/
            order_vec[i]=minus_f; 
            break;}
        case '*': 
            {/*order_vec.resize(order_vec.size+1)*/
            order_vec[i]=mult_f; 
            break;}
        case '/': {/*order_vec.resize(order_vec.size+1)*/
            order_vec[i]=div_f; 
            break;}
        }
    }
}
при попытке скомпилировать выдает мне ошибку - error C2679: binary '=' : no operator found which takes a right-hand operand of type 'Action_f' (or there is no acceptable conversion)
суть ее я понял - т.е. оператор присваивания не умеет работать с моим перечислением. Смущает меня то, что если просто объявить переменную типа Action_f и ей присвоить тем же '=' значение, то все нормально.
Так что я не в курсе, что да как.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.05.2008, 12:51
Ответы с готовыми решениями:

Не могу разобраться в vector<>
Доброго времени суток. Не могу понять реализацию вектора, да и вообще с векторами плохо знакома. Мне бы только показать, как ввести...

Помогите передать STL-евский vector в C#
Помогите передать STL-евский vector в C#

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main
//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;...

1
118 / 12 / 3
Регистрация: 21.08.2007
Сообщений: 222
26.05.2008, 21:03
Так что я не в курсе, что да как.
Потому что C++ - это не Си. И вектор - это вовсе не статический си-подобный массив. Оператор '=' копирует контент вектора. Слева у тебя вектор, а справа перечисляемый тип. Поэтому тебе перед копированием надо векторный тип сконструировать:

C++
1
2
3
4
order_vec[i]=vector<Action_f> (plus_f);
order_vec[i]=vector<Action_f> (minus_f); 
order_vec[i]=vector<Action_f> (mult_f); 
order_vec[i]=vector<Action_f> (div_f);
Я вообще-то на C++ не программирую, но на подсказки компилятора иногда смотрю - результат прогона твоего кода(см. "претенденты"):

Code
1
2
/home/src/vector.cxx:24: ошибка: no match for ‘operator=’ in ‘order_vec[i] = plus_f’
/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4/bits/vector.tcc:133: замечание: претенденты: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = Action_f, _Alloc = std::allocator<Action_f>]
Сюда загляни : www.cplusplus.com. Тут STL оч хорошо описывается. Да и вообще хороший ресурс по С++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.05.2008, 21:03
Помогаю со студенческими работами здесь

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

Помогите разобраться
Мой сайт www.doors911.ru до 21.07.06 находился на первых страницах Яндекса по многим ключевым словосочетаниям, однако после апдейта ...

Помогите разобраться!
&quot;&quot;В памяти записана следующая информация: message db 'Привет вам, изучающим ассемблер' a1 dw message Что записано в а1? Можно ли...

помогите разобраться!!!
почему в таблице : GNOMER DATES GAZOLINE COL_OF_GAZOLINE cena zatr 11 10.01.2003 Аи80 52 5,00р. 260 11 10.01.2003 Аи80 52 0,00р. 0 ...

Помогите разобраться.
В течении последней недели 2 раза падала и возвращалась на прежние позиции морда Faza220.ru, а сегодня вообще выпала из индекса. ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru