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?
I have N4GestureRecognizer.h:
class N4GestureRecognizer;
class N4GestureRecognizerDataSource{ /*it uses N4GestureRecognizer*/ };
class N4GestureRecognizerDelegate{ };
class N4GestureRecognizer {
...
};
N4FingerTipGestureRecognizer.h
#include "N4GestureRecognizer.h"
class N4FingerTipGestureRecognizer;
class N4FingerTipGestureRecognizerDelegate : public N4GestureRecognizerDelegate{
public:
virtual void fingerTipGestureRecognizerCallback(N4FingerTipGestureRecognizer *recognizer) = 0;
};
class N4FingerTipGestureRecognizer : public N4GestureRecognizer{
...
};
And MainController.h
#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);
};
There seem to be two typos in your code:
N4GestureRecognizer.hyou haveN4GestureRecognizerDataSource, but you try haveMainControllerinherit fromN4GestureRecognizerDatasource; note the different case of theSinDataSource.N4FingerTipGestureRecognizer.hyou haveN4FingerTipGestureRecognizerDelegate, but you try to haveMainControllerinherit fromN4FingerTipGestureRecognizeDelegate; note the missingrbeforeDelegate.