Evo rjesenja, sada radi.
Code:
#include<iostream>
using namespace std;
template<typename T1,typename T2>
class Par {
T1 first;
T2 second;
public:
Par() { }
Par(T1 aa,T2 bb) : first(aa), second(bb) { }
void print() const;
template <typename T1,typename T2>
friend ostream & operator<< (ostream &os,const Par<T1, T2> &par);
};
template <typename T1,typename T2>
ostream & operator << (ostream &os, const Par<T1, T2> &par)
{
os<<"( "<<par.first<<", "<<par.second<<" ) ";
return os;
}
template<class T1,class T2>
void Par<T1,T2>::print() const
{
cout<<first;
cout<<second;
}
int main ()
{
Par<int,int> pr(56,45);
cout << pr; //ovo radi sada uvijek
}
Znaci kada pises friend funkciju tada i unutar klase moras navesti template <typename ...>