Kad u dole navedenom kodu funkciju za preklapanje operatora definisem izvan tjela klase program se kompajlira ali je javlja linker error.
Jel ima neko logicno objasnjenje...?
code:
/////////////////////////
using namespace std;
template<class T1,class T2>
class Par{
private:
T1 first;
T2 second;
public:
Par(){};
Par(T1 aa,T2 bb):first(aa),second(bb){}
void print();
friend 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(){
cout<<first;
cout<<second;
}
int main(int argc, char* argv[])
{
Par<int,int> pr(56,45);
cout<<pr;//ovo radi ... kad se definise unutar klase....
cin.get();
return 0;
}
unaprijed hvala
pozdrav




linker error...zasto?
Re: linker error...zasto?
Re: linker error...zasto?