c++ - 继承时找不到类名

标签 c++ opencv inheritance

我在继承一个类时遇到问题,在 Internet 上查找错误据说是循环包含,但我没有看到我的代码是如何做到的。

这里是错误:

./src/Camera.hpp:6:40: error: expected class-name before ‘{’ token
 class Camera : public cv::VideoCapture {

我继承的类是 OpenCV 的一部分。这是代码的相关部分:

主要.cpp:

#include <opencv2/core.hpp>
#include "Camera.hpp"

int main(int argc, char** argv){

    Camera camera = Camera(/*Some parameters*/);
    return 0;
}

相机.hpp

#ifndef CAMERA_H
#define CAMERA_H

#include <opencv2/core.hpp>

class Camera : public cv::VideoCapture {
    public:
    Camera(/*Some parameters*/);
};
#endif

main.cpp 中还包含一些其他文件,但我确定(为了测试)它们都没有使用 Camera.hpp。我做错了什么?

谢谢

最佳答案

如果它不知道 VideoCapture 是一个类,可能是您没有包含正确的头文件。

http://docs.opencv.org/java/2.4.8/org/opencv/highgui/VideoCapture.html建议 #include "opencv2/opencv.hpp"

关于c++ - 继承时找不到类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33709713/

相关文章:

c++ - Opencv 程序退出,代码为 -1073741819

c++ - 多个派生类调用基类成员函数

java - List<?> 是 List<Integer> 和 List<Number> 的共同父代吗?

c++ - 如何用指数声明定义

c++ - 头文件和 cpp 文件中的运算符重载

c++ - 在 C++11 之后的现代 C++ 中使用原始指针

c++ - 为什么 lambda 会减慢排序速度

matlab - 计算部分图像的平均值

c++ - Opencv矩阵逐元素操作

c++ - 具有虚拟多重继承的构造函数定义