| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Принимая ссылку на std::iostream в конструкторе |
| Автор: EvilsInterrupt 10.8.2010, 09:27 | ||||||||
| Разрабатываю класс по работе с PE форматом, пришел к выводу, что нужно при создании объекта передавать ссылку на std::iostream . Это облегчит мне работу: смогу передавать поток по работе с памятью или файловый поток. начало декларации выглядит так:
использование таково:
Но получаю:
Вопрос, как передать в конструктор ссылку на стрим и при этом избавиться от этой ошибки? Т.е. где туплю? ------------------ в упрощеном примере:
это пашед! Что я упускаю из виду ? ;) |
| Автор: EvilsInterrupt 10.8.2010, 09:42 | ||
| Earnest, Как это не является ? А http://cplusplus.com/reference/iostream/iostream/:
а ifstream потомок fstream ! |
| Автор: SenkraD 10.8.2010, 10:14 |
| EvilsInterrupt, читай внимательней!!! ifstream потомок istream (http://cplusplus.com/reference/iostream/ifstream/) |
| Автор: EvilsInterrupt 10.8.2010, 12:36 |
| SenkraD, еще разок! >>EvilsInterrupt, читай внимательней!!! ifstream потомок istream (тыц) std::iostream ТОЖЕ потомок этого istream !!! http://cplusplus.com/reference/iostream/iostream/ об этом так написано ! Почему я не могу принять в одном потомке базового класса другой потомок этого же базового класса ? |
| Автор: SenkraD 10.8.2010, 13:01 |
| EvilsInterrupt, ну так и проси общую базу для iostream и ifstream - istream. Между iostream и ifstream разница как между жирафом и львом - да они животные, но там где нужен жираф не подойдёт лев, если явно просят жирафа. |
| Автор: EvilsInterrupt 11.8.2010, 00:12 |
| Пока буду считать закрытым и решеным этот вопрос, а то глаза мозолит ) |
| Автор: xvr 12.8.2010, 13:40 | ||
|