Ошибка C ++ в ios_base.h - PullRequest
       0

Ошибка C ++ в ios_base.h

2 голосов
/ 28 июля 2010

/ usr / include / c ++ / 4.4 / bits / ios_base.h: в функции-члене 'std :: basic_ios> & std :: basic_ios> :: operator = (const std :: basic_ios> &)':
/usr/include/c++/4.4/bits/ios_base.h:793: ошибка: ‘std :: ios_base & std :: ios_base :: operator = (const std :: ios_base &) 'является приватной
/usr/include/c++/4.4/iosfwd:47: ошибка: в этом контексте
/usr/include/c++/4.4/iosfwd: в функции-члене ‘std :: basic_ostream> & std :: basic_ostream> :: operator = (const std :: basic_ostream> &) ’:
/usr/include/c++/4.4/iosfwd:56: примечание: сначала требуется синтезированный метод herestd :: basic_ios> & std :: basic_ios> :: operator = (const std :: basic_ios> &) 'здесь
/usr/include/c++/4.4/iosfwd: в функции-члене ‘std :: basic_ofstream> & std :: basic_ofstream> :: operator = (const std :: basic_ofstream> &) ’:
/usr/include/c++/4.4/iosfwd:84: примечание: синтезированный метод first std :: basic_ostream> & std :: basic_ostream> :: operator = (const std :: basic_ostream> &) 'сначала требуется здесь
/usr/include/c++/4.4/streambuf: в функции-члене ‘std :: basic_filebuf> & std :: basic_filebuf> :: operator = (const std :: basic_filebuf> &) ’:
/usr/include/c++/4.4/streambuf:778: ошибка: 'std :: basic_streambuf <_CharT, _Traits> & std :: basic_streambuf <_CharT, _Traits> :: operator = (const std :: basic_streambuf <_CharT, _Traits> &) [с _CharT = char, _Traits = std :: char_traits] 'является приватным
/usr/include/c++/4.4/iosfwd:78: ошибка: в этом контексте
/usr/include/c++/4.4/iosfwd: в функции-члене ‘std :: basic_ofstream> & std :: basic_ofstream> :: operator = (const std :: basic_ofstream> &) ’:
/usr/include/c++/4.4/iosfwd:84: note: синтезированный метод first std :: basic_filebuf> & std :: basic_filebuf> :: operator = (const std :: basic_filebuf> &) 'сначала требуется здесь

Кто-нибудь знает, что это за ошибка?

Обновление : происходит из следующей строки:

ofstream myOutStream = ofstream(myCurrentLogName.c_str(), ios::app);

Ответы [ 2 ]

6 голосов
/ 28 июля 2010

Вы пытаетесь скопировать или назначить поток (потомок std::istream или std::ostream).Однако потоки не могут быть скопированы или назначены.

Редактировать

Изменить код на:

std::ofstream myOutStream(myCurrentLogName.c_str(), std::ios::app);
3 голосов
/ 28 июля 2010

Это первая строка двухстрочного сообщения об ошибке.В первой строке указывается местоположение частного / защищенного члена, к которому вы пытаетесь получить доступ, а во второй строке указывается местоположение попытки доступа к нему.Полное сообщение будет выглядеть примерно так:

header.h:53: error: `thing` is private
source.cpp:99: error: within this context

Во второй строке будет указано, где искать ошибку.

Обновление

Это былоответ на оригинальный вопрос.Теперь мы увидели полное сообщение об ошибке и код, вызывающий его, у sbi есть ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...