It sounds like you want to change:
friend ostream& operator << (ostream& out, const Base<T>& e);
To:
template<class T>
friend ostream& operator << (ostream& out, const Base<T>& e);
More Related Contents:
- overloading friend operator
- C++ template friend operator overloading
- explicit specialization of template class member function
- Template specialization of particular members?
- How to declare a templated struct/class as a friend?
- c++ template partial specialization member function [duplicate]
- Selecting a member function using different enable_if conditions
- declare template friend function of template class
- Template specialization of a single method from a templated class
- Making a template parameter a friend?
- ‘friend’ functions and
- How do we declare a friend function with a class template into .h file and define them into a .cpp file (not all in one header file)?
- static member initialization for specialized template class
- Overload operators as member function or non-member (friend) function?
- Default template parameter partial specialization
- Implicit conversion when overloading operators for template classes
- Specializing function template for reference types
- Overloading operator
- Specializing a template on a lambda in C++0x
- Default template argument and partial specialization
- Template specialization based on inherit class
- How to detect whether there is a specific member variable in class?
- Why not infer template parameter from constructor?
- Explicit template instantiation – when is it used?
- C++ Static member initialization (template fun inside)
- Access friend function defined in class
- Template function as a template argument
- What does this variadic template code do?
- How to overload unary minus operator in C++?
- How to write `is_complete` template?