template <class T>
class C
{
protected:
T Value;
public:
template <class T> friend ostream& operator<<(ostream &os, const C<T> &c);
};
template <class T>
ostream& operator<<(ostream &os, const C<T> &c)
{
os << c.Value;
return os;
}
C<int> C1;
cout << C1;
[C++ Error] Unit1.cpp(168): E2335 Overloaded 'operator ostream & << <int>(ostream &,const C<int> &)' ambiguous in this context
O co chodzi ?