PROBLEM: Making a new signal processing block

I have tried to make a new signal processing block which that is called
divcom. It is a diversity combining technique used to mitigate the
effects
of multi-path fading. I am trying to implement this algorithm using GNU
Radio.

I made my signal processing block and I now wish to integrate this to
the
GNU Radio’s library. Unfortunately, I always
get the following error message upon “MAKEing” (The message below is
truncated.)

divcom_rca_ff.cc: In function 'divcom_rca_ff_sptr
divcom_make_rca_ff(const
std::vector<float, std::allocator >&, const std::vector<float,
std::allocator >&, const std::vector<float, std::allocator

&)':
divcom_rca_ff.cc:38: error: cannot allocate an object of abstract type
‘divcom_rca_ff’
./divcom_rca_ff.h:45: note: because the following virtual functions
are
pure within ‘divcom_rca_ff’:
/usr/local/include/gnuradio/gr_block.h:113: note: virtual int
gr_block::general_work(int, gr_vector_int&, gr_vector_const_void_star&,
gr_vector_void_star&)
make[4]: *** [divcom_rca_ff.lo] Error 1

I did the steps found in this website (
http://www.gnu.org/software/gnuradio/doc/howto-write-a-block.html) and I
just changed a few bits of the code.

My question therefore is this. Could I not allocate a NEW CLASS TYPE (in
this case divcom_rca_ff) since the function general_work from the base
class
gr_block is a PURE VIRTUAL CLASS?

Thanks!