Arduino IDE错误:无法将变量<object>声明为抽象类型<class>

时间:2017-04-15 17:36:40

标签: c++ arduino accelerometer sensor robotics

我无法弄清楚这个错误。我最初从CurieIMU.h(构建正常)复制到ashIMU.h ...

错误是这样的: ashIMU.h:17:错误:无法将变量'ashIMU'声明为抽象类型'ashIMUClass'

我的草图ARDUINO_LED_DEMO.ino .................

#include "ashIMU.h"
...

ashIMU.h ..................

        #ifndef ASH_IMU_API_H
        #define ASH_IMU_API_H

        #include "ash_BMI160.h"

        class ashIMUClass : public ashBMI160Class {

            public:
                bool begin(void);

                void setAccelerometerRange(int range);
        };

    extern ashIMUClass ashIMU;

#endif // ASH_IMU_API_H

ash_BMI160.h ..................................... 这只是BMI160.h,但是类名从“BMI160Class”更改为“ashBMI160Class”。

...

class ashBMI160Class {
    public:

...

};

1 个答案:

答案 0 :(得分:0)

如果您的ashBMI160Class与CurieIMU库中的原始BMI160Class相同,那么您将缺少纯虚函数的实现:

virtual int serial_buffer_transfer(uint8_t *buf, unsigned tx_cnt, unsigned rx_cnt) = 0;