我在继承一个类时遇到问题,在 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/