|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.09.2012, 19:10 | #1 |
Новичок
Джуниор
Регистрация: 15.09.2012
Сообщений: 4
|
работа с STL очередями
Здравствуйте. Есть такой вопрос. Я передаю в функцию две очереди int и возвращаю из функции тоже очередь типа int. Далее мне нужно записать данные из очереди в .txt файл.
пишу: deque<int> buffer; ...... buffer=adding(deque1, deque2); но компилятор выдает forbids comparison between integer and pointer. В книге написано, что операция над очередями с1 = с2 присваивает елементам из с1 значения из с2. Что же не так? Заранее спасибо. |
15.09.2012, 19:31 | #2 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Yaroslav992
В книге написано, что операция над очередями с1 = с2 присваивает елементам из с1 значения из с2. Что же не так? не так то, что ты неправильно работаешь с очередью http://codepad.org/i7WosK0x
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
15.09.2012, 19:38 | #3 |
Новичок
Джуниор
Регистрация: 15.09.2012
Сообщений: 4
|
Извините, но я не понял, в чем мораль данного кода.
я создаю очередь buffer куда я хочу скопировать данные из очереди, которую я создаю внутри функции adding. |
15.09.2012, 19:59 | #4 |
Новичок
Джуниор
Регистрация: 15.09.2012
Сообщений: 4
|
вот код main
main() { deque<char> buffer; deque<char>::iterator mine; deque<int> deque1; deque<int> deque2; deque<int> buffer2; char* sign; char* sign1; ifstream infile("calc.txt"); istream_iterator<int> fiterato(infile); istream_iterator<int> end_of_stream; while(!infile.eof()) { infile.get(sign1,255); deque1.push_back((int)*sign1); } infile.get(sign,5); while(!infile.eof()) { infile.get(sign1,255); deque2.push_back((int)*sign1); } while(deque1.size()<deque2.size()) deque1.push_front(0); while(deque1.size()>deque2.size()) deque2.push_front(0); if(*sign=="+") buffer2=adding(deque1,deque2); // ошибки начинаются здесь else return 0; if(*sign=="-") buffer2=minus(deque1,deque2); else return 0; if(*sign=="*") buffer2=multiply(deque1,deque2); else return 0; ofstream ofile("calc.txt",ios::app); ostream_iterator<int> foterato(ofile); ostream_iterator<int> end_of_stream; // some error copy(foterato, end_of_stream, back_inserter(buffer)); return 0; } |
15.09.2012, 20:10 | #5 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
указатели вы объявили, а память выделять кто будет?
|
15.09.2012, 20:19 | #6 |
Новичок
Джуниор
Регистрация: 15.09.2012
Сообщений: 4
|
хм.. и правда. спасибо.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка работы программы. Работа с библиотекой STL и шаблонами. С ++ | Vasyl'eva | Помощь студентам | 1 | 25.12.2011 18:39 |
Работа с классами и STL | Blad47 | Помощь студентам | 3 | 31.03.2011 01:07 |
Программа с очередями на Си | anuta90 | Помощь студентам | 5 | 29.10.2010 07:57 |
Работа со списками методами STL | JeyKip | Общие вопросы C/C++ | 5 | 17.12.2009 02:13 |