If I try out your code, I get the following error:
make
Compiling ./qt/plot.cpp
plot.cpp: In constructor 'SimpleData::SimpleData(double, double, double)':
plot.cpp:60: warning: passing 'double' for argument 1 to 'int abs(int)'
plot.cpp: In member function 'virtual QwtRasterData* SpectrogramData::copy() const':
plot.cpp:109: error: no matching function for call to 'SpectrogramData::SpectrogramData(double (* SpectrogramData::*)(double, double), const double*, const double*)'
plot.cpp:99: note: candidates are: SpectrogramData::SpectrogramData(double (*)(double, double), double*, double*)
plot.cpp:97: note: SpectrogramData::SpectrogramData(const SpectrogramData&)
make[1]: *** [../obj/linux-amd64-gcc-lsb31/plot.o] Error 1
make: *** [obj_qt] Error 2
Where do I have to define the function pointer with:
Qt Code:
  1. typedef double (*benchFunc)(double, double);
To copy to clipboard, switch view to plain text mode 
and where
Qt Code:
  1. benchFunc pointerName;
To copy to clipboard, switch view to plain text mode 
?