title: QtConcurrent::mappedReduced
body: <p>to improve my program, i want to use Qtconcurrent to parallelize my audio process.
  Unfortunately, i have many errors and i don't know why ...</p>
  
  <p>In my *.pro : QT += concurrent</p>
  
  <p>I use minGW with Qt 5.3.1 and when i try to build, the compiler said "forming reference to void" (qvector.h).</p>
  
  <p>Here my main code :</p>
  
  <pre><code>void Reduce(QString&amp; result, const QString&amp; txt){ result += txt;}
  
  int main(int argc, char *argv[])
  {
      QCoreApplication a(argc, argv);
      QFuture&lt;QString&gt; res = QtConcurrent::mappedReduced(wavSoundsList, &amp;BenchFFT::process, Reduce, QtConcurrent::OrderedReduce);
  
      res.waitForFinished();
      qDebug("%s",qPrintable(res.result()));
  
     return a.exec();
  }
  </code></pre>
  
  <p>and my class :</p>
  
  <pre><code>class BenchFFT 
  {
  public:
      BenchFFT();
      QString process(const QString &amp;wavFile);
  
  private:
  
      QString soundsPath;
      QStringList wavSoundsList;
  
      //Audio file
      bool OpenWav(const QString WavPath, SndfileHandle &amp;file);
  
      //FFT
      bool ComputeFFT(SndfileHandle file);
      double Blackman(int x, int iWindowSize);
      //Intel IPP7
      IppsFFTSpec_R_64f * pFFTSpec;
      Ipp64f* data; // source FFT
      Ipp64fc* fftResult; // dest FFT
  };
  </code></pre>
  
  <p>if someone can explain me my mistakes.thx :)</p>
  
  <p>Edit : now i don't have build error with this modification</p>
  
  <pre><code>QFuture&lt;QString&gt; res = QtConcurrent::mappedReduced(wavSoundsList, std::tr1::bind(&amp;BenchFFT::process, BenchFFT(), std::tr1::placeholders::_1), &amp;Reduce, QtConcurrent::OrderedReduce);
  </code></pre>
  
  <p>but my program crashed .....</p>