PROBLEM: Making a new signal processing block

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?

I also have another question.

g++ -DHAVE_CONFIG_H -I. -I…/… -DOMNITHREAD_POSIX=1 -pthread
-I/usr/local/include/gnuradio -I/usr/include/python2.5 -g -O2 -Wall
-Woverloaded-virtual -pthread -MT divcom.lo -MD -MP -MF .deps/divcom.Tpo
-c
divcom.cc -fPIC -DPIC -o .libs/divcom.o
/usr/local/include/gnuradio/gr_block.h:113: warning: ‘virtual int
gr_block::general_work(int, gr_vector_int&, gr_vector_const_void_star&,
gr_vector_void_star&)’ was hidden

Does it matter that I have “HIDDEN” the original general_work function
from
the base class gr_block.h? If so how can i make it “not hidden?”

Thanks!