multiheritance in C++, different files : "Expected class-name before ',' token"
<p>I am getting this error "Expected class-name before ',' token" and "Expected class-name before '{' token" in MainController.h
I think I am including files as needed, also doing #ifndef HEADER_H #define HEADER_H, etc in all headers, I had no errors until I wrote MainController class. 
I have no idea why this error appears. What am I missing here?</p>

<p>I have N4GestureRecognizer.h:</p>

<pre><code>class N4GestureRecognizer;
class N4GestureRecognizerDataSource{ /*it uses N4GestureRecognizer*/ };
class N4GestureRecognizerDelegate{    };
class N4GestureRecognizer {
...    
};
</code></pre>

<p>N4FingerTipGestureRecognizer.h</p>

<pre><code>#include "N4GestureRecognizer.h"
class N4FingerTipGestureRecognizer;

class N4FingerTipGestureRecognizerDelegate : public N4GestureRecognizerDelegate{
public:
    virtual void fingerTipGestureRecognizerCallback(N4FingerTipGestureRecognizer *recognizer) = 0;
};
class N4FingerTipGestureRecognizer : public N4GestureRecognizer{
...    
};
</code></pre>

<p>And MainController.h</p>

<pre><code>#include "N4GestureRecognizer.h"
#include "N4FingerTipGestureRecognizer.h"

using namespace cv;

//******Error is in the next line******
class MainController : public N4GestureRecognizerDatasource, public N4FingerTipGestureRecognizeDelegate{ 
protected:
    Mat image;
public:
    /*virtual*/ Mat gestureRecognizerNeedsImageFrame(N4GestureRecognizer *recognizer);
    /*virtual*/ void fingerTipGestureRecognizerCallback(N4FingerTipGestureRecognizer *recognizer);

};
</code></pre>
