![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| EvilsInterrupt |
|
||||||||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
Разрабатываю класс по работе с PE форматом, пришел к выводу, что нужно при создании объекта передавать ссылку на std::iostream . Это облегчит мне работу: смогу передавать поток по работе с памятью или файловый поток.
начало декларации выглядит так:
использование таково:
Но получаю:
Вопрос, как передать в конструктор ссылку на стрим и при этом избавиться от этой ошибки? Т.е. где туплю? ------------------ в упрощеном примере:
это пашед! Что я упускаю из виду ? ;) Это сообщение отредактировал(а) EvilsInterrupt - 10.8.2010, 09:27 |
||||||||
|
|||||||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Вроде ясно сказано - не может преобразовать из одного типа в другой, потому что iostream не является базовым по отношению к ifstream. Обычно стоит делать параметр самого "базового" типа. Например в данном случае - тебе точно нужен io? Может, достаточно ввода? Тогда просто std::istream (параметр конструктора). -------------------- ... |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
Earnest, Как это не является ?
А тут:
а ifstream потомок fstream ! |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 2 Всего: 23 |
EvilsInterrupt, читай внимательней!!! ifstream потомок istream (тыц)
|
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
SenkraD,
еще разок! >>EvilsInterrupt, читай внимательней!!! ifstream потомок istream (тыц) std::iostream ТОЖЕ потомок этого istream !!! Тут об этом так написано ! Почему я не могу принять в одном потомке базового класса другой потомок этого же базового класса ? |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 2 Всего: 23 |
EvilsInterrupt, ну так и проси общую базу для iostream и ifstream - istream.
Между iostream и ifstream разница как между жирафом и львом - да они животные, но там где нужен жираф не подойдёт лев, если явно просят жирафа. Это сообщение отредактировал(а) SenkraD - 10.8.2010, 13:03 |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 2 Всего: 9 |
Пока буду считать закрытым и решеным этот вопрос, а то глаза мозолит )
|
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |