discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] updating abstract classes


From: Charles Swiger
Subject: [Discuss-gnuradio] updating abstract classes
Date: Wed, 26 Apr 2006 16:35:19 -0400

This is more C++ than dsp - this compiles but segfaults:


atsc_equalizer.h:
-------------------------------------------
class atsc_equalizer;
protected:
  atsci_equalizer       *d_equalizer;



atsc_equalizer.cc:
--------------------------------------------
  // peform the actual equalization

  d_equalizer->filter (in, in_tags,
                       out, noutput_items);



atsci_equalizer.h:
--------------------------------------
class atsci_equalizer {
  virtual void filter (const float         *input_samples,
                       const atsc::syminfo *input_tags,






If I expunge all occurances of d_equalizer->  it'll run w/o segfault.
Trying to change it to what worked in earlier updates:


atsc_equalizer.h:
--------------------------------------
class atsc_equalizer : public gr_sync_block
{
  friend atsc_equalizer_sptr atsc_make_equalizer();

  atsci_equalizer       d_equalizer;



atsc_equalizer.cc:
-----------------------------------------
  // peform the actual equalization

  d_equalizer.filter (in, in_tags,
                       out, noutput_items);


it fails to compile because:

./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)



Any advise on which way to go? I.e. should I just leave it 
d_equalizer->filter()  and look for problems elsewhere? 


tia
--Chuck






reply via email to

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