template<class Typ>
class Obiekt
{
Typ pole1;
public:
Obiekt();
void ZrobCos(Typ T);
};
template<class Typ> Obiekt<Typ>::Obiekt()
{
std::cout << "DZIALAM" << std::endl;
}
template<class Typ> void Obiekt<Typ>::ZrobCos(Typ T)
{
pole1 = T;
}
class Elem
{
public:
int ii;
Elem(int aa);
Elem();
};
Elem::Elem()
{ }
Elem::Elem(int aa)
{
ii = aa;
}
int main()
{
Elem E1(3);
Obiekt<Elem> T1;
T1.ZrobCos(E1);
}
I teraz moje pytanie, dlaczego kod powyżej nie zadziała jeśli nie zadeklarujemy konstruktora domyslnego Elem::Elem()?