| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > std::basic_ostream |
| Автор: dix75 17.6.2008, 20:07 | ||
| Всем Доброго вечера! У меня вопрос такой нашел я одну функцию в книге (Рэй Лишнер "C++ справочник"), а примера использования функции нет Функция копирования файла
Но как пользоватья ей я не знаю Может кто-нить напишет как ей пользоваться |
| Автор: JackYF 17.6.2008, 20:15 | ||
здесь должен быть istream, вестимо. Пример:
|
| Автор: Mephisto 17.6.2008, 20:19 | ||
| Не пойму почему basic_ostream описан как in. Но если так как я написал, то понятно :
|
| Автор: dix75 17.6.2008, 20:23 |
| Mephisto, Прошу прощения действительно basic_istream |
| Автор: dix75 17.6.2008, 20:42 | ||
Ошибка :(
|
| Автор: vinter 17.6.2008, 20:53 |
| бедовая -фия, нафига она тебе нужна, лучше напрямую функционал ею используемый пользовать она у тебя объявлена\определена? я думаю должно быть traits, а уж никак не trains |
| Автор: dix75 17.6.2008, 21:03 | ||
| исправил на traits результат Не помогло Пытаюсь работать так
|
| Автор: baldina 17.6.2008, 21:16 |
| у тебя std::basic_ostream<charT,trains>&out не согласуется с ofstream который есть basic_ofstream<char, char_traits<char> > и т.д. Добавлено через 5 минут и 7 секунд не, ошибся, согласуется все. Добавлено через 6 минут и 11 секунд у тебя просто шаблон TCopyList::copy видимо в cpp файле, перенеси его в .h и все |
| Автор: dix75 17.6.2008, 21:29 | ||
| baldina, размещаю в секции public другая ошибка
|
| Автор: vinter 17.6.2008, 21:44 |
| а iostream подключен в .h? std? |
| Автор: andrew_121 17.6.2008, 21:45 | ||
По моему - rdbuf |
| Автор: baldina 17.6.2008, 21:47 |
| vinter, dix75, проверяй iostream в .h Добавлено через 51 секунду да, rdbuf конечно |
| Автор: dix75 17.6.2008, 21:52 |
| Прикольно действительно rdbuf Непонятно почему в cpp нельзя? А как мона дописать файл? |
| Автор: andrew_121 17.6.2008, 22:08 |
Путем Чтения и Записи |
| Автор: dix75 17.6.2008, 22:15 | ||
| andrew_121, вот так я думаю
Добавлено через 2 минуты и 16 секунд Меня мучает вопрос почему нельзя писать реализацию функции в cpp? |
| Автор: baldina 17.6.2008, 22:24 |
| шаблон - это не готовый код класса или функции, это инструкция компилятору, как их создавать. поэтому шаблон должен быть у компилятора "под рукой". Есть способ принудительной генерации кода по шаблону для заданных типов, но в данном случае этого не надо. Пусть тебя .h не смущает, посмотри тексты STL - там все во включаемых файлах. Наконец, есть такая штука, как экспорт шаблонов, но с поддержкой этой фичи со стороны компиляторов пока плоховато. |
| Автор: vinter 17.6.2008, 22:32 |
можно, и нужно в смысле, ты думаешь улыбаясь? |
| Автор: dix75 17.6.2008, 22:33 |
| причем постоянно в cpp выдает ошибку описанную ранее |
| Автор: vinter 17.6.2008, 23:03 |
ну это я имел в виду про обычные ф-ии, а у тебя объявление шаблона в .h а реализации в cpp, да? Если так, то с шаблонами так нельзя. |
| Автор: dix75 17.6.2008, 23:12 |
| спасибо |
| Автор: bsa 17.6.2008, 23:12 | ||
По крайней мере до тех пор, пока компиляторы не поддержат extern template... |
| Автор: vinter 17.6.2008, 23:33 | ||
export если быть точным |
| Автор: bsa 17.6.2008, 23:35 |
| vinter, точно. |
| Автор: xvr 18.6.2008, 11:35 | ||||
Эх, sun'овский C++ компилятор поддерживал это еще более 10 лет назад (правда без слова export, не было его еще тогда |
| Автор: Mephisto 18.6.2008, 14:13 |
я, в своем примере rdbuf и написал |