Witam, dlaczego kompilator ma problem z dobraniem konstruktora?
/error: no matching function for call to 'abc::abc(abc)'/
Wszystko jasne, jeden przyjmuje typ int, drugi jest domniemany, a trzeci kopiujący. Chciałem zrobić małe doświadczenie z konstruktorem kopiującym.
#include <iostream>
using namespace std;
class abc
{
public:
int zmienna;
abc(int a);
abc();
abc(abc &);
};
abc::abc(int a)
{
zmienna = a;
}
abc::abc(abc &obiekt)
{
zmienna = 5;
}
abc::abc()
{
zmienna = 2;
}
int main()
{
abc tablica[3] = { abc(10), abc(), abc(9) };
for(int i = 0; i<3; i++)
{
cout << tablica[i].zmienna << endl;
}
return 0;
}