Chce przeciążyć konstruktor, tzn mam taki kawałek kodu:
#include <iostream>
#include <vector>
#include "macierz.h"
using namespace std;
Macierz::Macierz(int n)
:n_(n)
{
vector <double> liczby;
for(int i = 0; i <n*n; i++)
{
liczby.push_back(0);
}
}
Macierz::Macierz(int n, double m)
:n_(n), m_(m)
{
vector <double> liczby;
for(int i = 0; i <n*n; i++)
{
liczby.push_back(m);
}
}
ale przy wywołaniu :
Macierz m1(1);
Macierz m2(1,2);
Wyskakuje mi błąd że wywołanie Macierz m1(1) jest dwuznaczne, dlaczego tak jest?
Wydaje mi się że program sam powinien się domyślić, którego konstruktora ma użyć (tak samo jak to jest z funkcją)