Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C+的多重遗传+;,不同的文件:;在';之前应为类名';代币;_C++ - Fatal编程技术网

C++ C+的多重遗传+;,不同的文件:;在';之前应为类名';代币;

C++ C+的多重遗传+;,不同的文件:;在';之前应为类名';代币;,c++,C++,我在MainController.h中得到了这个错误“在“,”标记之前应该有类名”和“在“{”标记之前应该有类名” 我想我正在根据需要包括文件,也在所有的头中执行#ifndef HEADER#H#define HEADER#H等操作,在编写MainController类之前我没有任何错误。 我不知道为什么会出现这个错误。我在这里遗漏了什么 我有N4GestureRecognitor。h: class N4GestureRecognizer; class N4GestureRecognizerDa

我在MainController.h中得到了这个错误“在“,”标记之前应该有类名”和“在“{”标记之前应该有类名” 我想我正在根据需要包括文件,也在所有的头中执行#ifndef HEADER#H#define HEADER#H等操作,在编写MainController类之前我没有任何错误。 我不知道为什么会出现这个错误。我在这里遗漏了什么

我有N4GestureRecognitor。h:

class N4GestureRecognizer;
class N4GestureRecognizerDataSource{ /*it uses N4GestureRecognizer*/ };
class N4GestureRecognizerDelegate{    };
class N4GestureRecognizer {
...    
};
N4FingerTIPGEstureRecognitor.h

#include "N4GestureRecognizer.h"
class N4FingerTipGestureRecognizer;

class N4FingerTipGestureRecognizerDelegate : public N4GestureRecognizerDelegate{
public:
    virtual void fingerTipGestureRecognizerCallback(N4FingerTipGestureRecognizer *recognizer) = 0;
};
class N4FingerTipGestureRecognizer : public N4GestureRecognizer{
...    
};
和主控制器

#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);

};

您的代码中似乎有两个输入错误:

  • n4gestrerecognizer.h
    中,您拥有
    n4gestrerecognizer数据源
    ,但您尝试拥有
    main控制器
    继承自
    n4gestrerecognizer数据源
    ;请注意
    数据源
    中的
    S
    的不同情况
  • N4FingerTipGestureRecognizer.h
    中,您有
    N4FingerTipGestureRecognizer委托
    ,但您尝试让
    main控制器
    继承自
    N4FingerTipGestureRecognizer委托
    ;请注意
    委托
    之前缺少的
    r

  • 假设上面粘贴的源文件确实是源文件中包含的文本,那么问题出在
    类N4GestureRecognitizerDataSource
    公共N4GestureRecognitizerDataSource

    相比,您不是在写
    \ifndef HEADER\u H
    ,是吗?每个头的宏名称都需要不同。不要写ode>在头文件中使用名称空间;请尝试发布真实的工作代码:您的代码中既没有声明名称空间
    cv
    也没有声明类型
    Mat
    ,并且会导致与问题无关的其他编译错误。为什么我不应该在头文件中编写“使用名称空间”?