Dwuwymiarowa dynamiczna tablica obiektów - jak zadeklarować?

0

w klasie bazowa mam:

 
protected:
	obiektowa **zawartosc;

I funkcja klasy pochodna która dziedziczy po bazowa (public)

 
void pochodna::ustaw_rozmiar(int a, int b) {
	this->k=a; //liczba kolumn
	this->l=b; //liczba wierszy
	this->zawartosc = new int * [this->k];
	for (int j=0; j<this->k; j++) {
		this->zawartosc[j] = new ulamek[this->w];
		}
	}

Potrzebuję mieć dynamiczną dwuwymiarową tablicę obiektów. Kompilator wywala taki błąd:
In member function 'void pochodna::ustaw_rozmiar(int, int)':|
i wskazuję linijkę:
this->zawartosc = new int * [this->k];

Podpowie ktoś jak zadeklarować taką tablicę jakiej potrzebuję, albo wskaże błąd?

0

Poprawka kodu, źle wkleiłem:

 void pochodna::ustaw_rozmiar(int a, int b) {
        this->k=a; //liczba kolumn
        this->l=b; //liczba wierszy
        this->zawartosc = new int * [this->k];
        for (int j=0; j<this->k; j++) {
                this->zawartosc[j] = new obiektowa[this->w];
                }
        }
 
0

O, nie wkleiłem błędu całego jeszcze

 86|error: cannot convert 'int**' to 'obiektowa**' in assignment|
error: cannot convert 'int*' to 'obiektowa*' in assignment|
0
void c(int a, int b)
{
    klasa** tablica=new klasa*[a];
    for(int i=0;i<a;++i) tablica[i]=new klasa[b];
}

Mniej wiecej tak.

0

Dzięki, deklaracja już chyba ok, bo mam gdzie indziej błędy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1