operator<< дла класса вложенного в шаблонный
От: Аноним  
Дата: 27.12.09 21:02
Оценка:
Всем доброго времени суток.

Есть такая проблема, не могу перегрузить оператор << в такой ситуации:

template <typename T> class C
{
};

template <template <class> class T> class A
{
    public:
        class B
        {
            int c;
        };

        C<A> c;
        B b;

        void f()
        {
            std::ostringstream s;
            s << b;
        }
};


имеется ввиду оператор для A::B. Пытаюсь написать так:


template <template <class> class T> std::ostringstream& operator<<(std::ostringstream& _s, typename A<T>::B& _v)
{
    _s << "";
    return _s;
}


Компилятор (gcc 4.4.1) не находит подходящей функции для операции s << b. Причем описанной выше функции нет в кандидатах.
Как в таком случае можно перегрузить operator<< ?

29.12.09 14:04: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.