Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.03.2011, 20:56   #1
Farrel
Форумчанин
 
Аватар для Farrel
 
Регистрация: 21.04.2010
Сообщений: 144
По умолчанию Проблема с возвратом fstream

Никак не могу понять ошибку в следующем коде
Код:
fstream filereader::retf()
{
	return file;
}
(класс filereader содержит fstream file)
и это вызывает следующую ошибку:
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\fstream(1347): error C2248: 'std::basic_ios<_Elem,_Traits>::bas ic_ios' : cannot access private member declared in class 'std::basic_ios<_Elem,_Traits>'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\ios(176) : see declaration of 'std::basic_ios<_Elem,_Traits>::bas ic_ios'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
1> This diagnostic occurred in the compiler generated function 'std::basic_fstream<_Elem,_Traits>: :basic_fstream(const std::basic_fstream<_Elem,_Traits> &)'
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits<char>
1> ]
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Farrel вне форума Ответить с цитированием
Старый 07.03.2011, 21:18   #2
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Именуй поля как m_название_поля (в данном случае m_file), а классы как SomeClass (в данном случае FileReader). А то ведь путаница же.

В данном случае надо возвращать не сам объект, а ссылку, должно сработать. Объекты-потоки нельзя копировать.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 07.03.2011, 21:19   #3
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

может std::fstream?
onewho вне форума Ответить с цитированием
Старый 07.03.2011, 21:27   #4
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Проблема не в этом. Просто у fstream нет копирующего конструктора.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 07.03.2011, 21:41   #5
Farrel
Форумчанин
 
Аватар для Farrel
 
Регистрация: 21.04.2010
Сообщений: 144
По умолчанию

Попоробовал так
Код:
fstream& filereader::retf()
{
	return file;
}
та же ошибка
Farrel вне форума Ответить с цитированием
Старый 07.03.2011, 22:08   #6
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
return &file; //?
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 07.03.2011, 22:24   #7
Farrel
Форумчанин
 
Аватар для Farrel
 
Регистрация: 21.04.2010
Сообщений: 144
По умолчанию

Блин, затупил. Не хотел пользоваться указателями, и из-за этого фигнёй страдал часа полтора. В общем просто возвращаем указатель.
Всем сеньк.
Farrel вне форума Ответить с цитированием
Старый 07.03.2011, 22:42   #8
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

шикарно же, теперь будете помнить
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 08.03.2011, 01:02   #9
Obey-Kun
Линуксоид
Участник клуба
 
Аватар для Obey-Kun
 
Регистрация: 31.07.2009
Сообщений: 1,403
По умолчанию

Цитата:
fstream& filereader::retf()
{
return file;
}
так ведь должно работать оО. наверное. ну не суть. вопрос в другом... зачем тебе это понадобилось? покажи пример использования.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su
Obey-Kun вне форума Ответить с цитированием
Старый 08.03.2011, 01:24   #10
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

Код:
fstream filereader::retf()
{
	return file;
}
у меня и так работало
onewho вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение строк методом перебора в StrinGride'е с возвратом индекса Des Общие вопросы Delphi 6 23.10.2010 14:26
Дробная часть в fstream Ozerich Общие вопросы C/C++ 3 14.03.2009 23:00
fstream.eof() в mingw alexinspir Общие вопросы C/C++ 1 30.09.2008 08:00