Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.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++ Don';我不知道为什么会收到“错误:转发声明<;类别>`_C++ - Fatal编程技术网

C++ Don';我不知道为什么会收到“错误:转发声明<;类别>`

C++ Don';我不知道为什么会收到“错误:转发声明<;类别>`,c++,C++,我有以下代码: class AP_InertialSensor_Backend; class AP_InertialSensor { public: const Vector3f &get_gyro(uint8_t i) const { return drivers[primary_instance]->_gyro[i]; } private: AP_InertialSensor_Backend *drivers[INS_MAX_INSTANCES];

我有以下代码:

class AP_InertialSensor_Backend;

class AP_InertialSensor
{
public:
    const Vector3f  &get_gyro(uint8_t i) const { return drivers[primary_instance]->_gyro[i]; }
private:
    AP_InertialSensor_Backend *drivers[INS_MAX_INSTANCES];

    void detect_instance(uint8_t instance);    

    /// primary IMU instance
    uint8_t primary_instance=0;
};

#include <AP_InertialSensor_Backend.h>
我有其他相同的项目,它当时的工作,但我不知道什么是失败的

我非常感激任何帮助


提前感谢。

在定义类之前,您正在访问
AP惯性传感器后端
的成员
\u gyro


若要修复此错误,请将
get_gyro
的实现移动到cpp文件。

您会遇到此错误,因为您在使用
AP\u惯性传感器后端
之前未包含其头文件。您确实包含了向前引用,但唯一允许您执行的操作是声明指向该类的指针。

为什么在末尾有include,如果您只是要包含标头,为什么还要向前声明?
In member function 'const Vector3f& AP_InertialSensor::get_gyro(uint8_t) const':
error: invalid use of incomplete type 'class AP_InertialSensor_Backend'
error: forward declaration of 'class AP_InertialSensor_Backend'