Re[5]: ofstream и перегрузка <<
От: Chorkov Россия  
Дата: 07.04.07 18:30
Оценка:
Здравствуйте, cs_student, Вы писали:

C>>1) какой компилятор?

C>>2) используем ли ты fastream из <fstream> или устаревший из <fstream.h> ?
C>>3) на аргументе какого типа выдается это сообщение об ошибке ?

_>1) Visual C++ 2005 express edition

_>2) <fstream>
_>3) endl



Для манипуляторов потребуется написать отдельную специализацию:

class Log  : public ofstream
{
public:
    Log(char* szLogFn);
    ~Log();

    template<class C>
    Log& operator<<(const C& c)
    {
        static_cast<ofstream&>(*this) << c;
        return *this;
    }

    Log& operator<<(ostream& (*manipulator)(ostream&))
    {
        static_cast<ostream&>(*this)<<manipulator;
        return *this;
    };
private:
};


Проверил со стандартными манипуляторами работает.
Возможно, потребуется написать еще специализации для ios_base& (*m)(ios_base&) и для basic_ios<>& (*m)(basic_ios<>&)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.