klasy szablonowe c++

Odpowiedz Nowy wątek
2017-05-19 18:32
0

witam chce rozbudować moją klasę o klasy szablonowe i konstruktor i dla metody convert() klasy pochodnej jest błąd "ze nie zdefiniowane pola" a one są w klasie pierwotnej ...
ktoś wie gdzie brak zapisu czegoś ?

 
template <class T>
class Filtr{
    protected:
        int n;
        double *X, *Y;// wsk na tablice z strumieniem danych przed i po filtrowaniu
    public:
        Filtr(int k = 0);//konstruktor
        ~Filtr();//destruktor
};
 
template <class T>
class FIR: public Filtr <T>{
    private:
        int N;
        double *B;
    public:
        FIR(int a, int b);
        ~FIR();
        void convert();
        friend ostream & operator<<(ostream & out, FIR & f);
 
}
template <class T>
void FIR<T>:: convert(){
    for(int i = n-1; i >= 0 ; i--){
    int j = 0;
    while (j < N){
        if(i>=j) Y[i] += B[j] * X[i-j];
        j++;
    }
    }
}
edytowany 3x, ostatnio: sabek, 2017-05-19 18:34

Pozostało 580 znaków

2017-05-19 18:42

Wklej cały kod oraz oryginalny komunikat błędu.
Zgaduję, że problem leży m.in. tu

for(int i = Filtr<T>::n-1; i >= 0 ; i--)
//albo
for(int i = this->n-1; i >= 0 ; i--)
edytowany 2x, ostatnio: twonek, 2017-05-19 18:47
super ^^ - sabek 2017-05-19 18:53

Pozostało 580 znaków

2017-05-19 18:46
0

error: n was not declared in this scope
cały kod jest w kilku plikach ... a tu są potrzebne tylko dwie klasy z biblioteki i metoda convert(),
klasa FIR dziedziczy po Filtr a jest error dla pola n z klasy filtr
zanim dodałem templete etc wszystko chodziło ....ok

edytowany 1x, ostatnio: sabek, 2017-05-19 18:47
popatrz na mój zedytowany post - twonek 2017-05-19 18:48

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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