discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] updating abstract classes


From: Ilia Mirkin
Subject: Re: [Discuss-gnuradio] updating abstract classes
Date: Wed, 26 Apr 2006 17:09:28 -0400
User-agent: Internet Messaging Program (IMP) H3 (4.0.3)

Quoting Charles Swiger <address@hidden>:
./atsc_equalizer.h:41: error: cannot declare field
`atsc_equalizer::d_equalizer' to be of type `atsci_equalizer'
./atsc_equalizer.h:41: error:   because the following virtual functions
are abstract:
./atsci_equalizer.h:159: error:  virtual void
atsci_equalizer::filter_field_sync(const float*, float*, int, int, int)
./atsci_equalizer.h:140: error:  virtual void
atsci_equalizer::filter_data_seg_sync(const float*, float*, int, int)

I'm guessing that you don't find these messages particularly informative, so
here's what they mean:

d_equalizer is of type atsci_equalizer; you're trying to instantiate one, but
atsci_equalizer is an abstract class because it doesn't have definitions for
these functions: filter_field_sync, filter_data_seq_sync. You can't instantiate abstract classes, so you must either define those functions or you must specify
a more specific type for d_equalizer that can be instantiated.

The reason you probably see segfaults with the pointer version is because you
never actually create an object that d_equalizer would point to (at least in
the code that you showed).

 -Ilia




reply via email to

[Prev in Thread] Current Thread [Next in Thread]