no matching function for call to

no matching function for call to
0

Mam następujący błąd z którym nie mogę sobie poradzić: " no matching function for call to 'Krawedz::Krawedz()' "

Kopiuj
#include "Wierzcholek.hh"
#include "Krawedz.hh"
#include<iostream>
#include<vector>

using namespace std;


class GrafMacierz:protected Wierzcholek,protected Krawedz{
protected:
	int _liczbaWierzchholkow;
	int **_macierzSasiedztwa;
	vector<Wierzcholek> _listaWierzcholkow;
	vector<Krawedz> _listaKrawedzi;
public:
	GrafMacierz(int wierzcholki);
	~GrafMacierz();
	void wczytajGraf(string nazwa);
	void zapiszGraf(string nazwa);
	void zbuduj(int gestosc);
bool istniejeKrwedz(int i, int j);

};


GrafMacierz::GrafMacierz(int wierzcholki ):Krawedz(){

	_liczbaWierzchholkow=wierzcholki;
	_macierzSasiedztwa=new int*[_liczbaWierzchholkow];
	for(int i=0;i<_liczbaWierzchholkow;i++){
	_macierzSasiedztwa[i]=new int[_liczbaWierzchholkow];
	}
for(int i=0;i<_liczbaWierzchholkow;i++){
	for(int j=0;j<_liczbaWierzchholkow;j++){
	_macierzSasiedztwa[i][j]=0;
	}
}
Kopiuj
#ifndef INC_KRAWEDZ_HH_
#define INC_KRAWEDZ_HH_

class Krawedz{
protected:
	int _wagaKrawedzi;
	int _wierzcholekStartowy;
	int _wierzcholekKoncowy;
public:
Krawedz(int ws,int wk,int waga){
	_wagaKrawedzi=waga;
		_wierzcholekStartowy=ws;
		_wierzcholekKoncowy=wk;
}
~Krawedz();

};


#endif /* INC_KRAWEDZ_HH_ */
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:4 dni
  • Lokalizacja:Szczecin
1
  1. W jakim celu dziedziczysz z widocznością protected?
  2. Wystarczy wczytać się w to co mówi kompilator. Używasz bezargumentowego konstruktora Krawedz, a takiego nie ma.
  3. na oko: nie rozumiesz co robisz, GrafMacierz jest w/g ciebie jednoczesnie krawędzią i wierzchołkiem (wtf?)

edytowany 1x, ostatnio: kq

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.