我是C++的新手,我对类有问题。

我得到了这个原型(prototype)

class MMA7455 : public Accel
{
public:
    MMA7455(uint8_t);
    uint8_t accel_get_data(acceleration_t*);
private:
    uint8_t accel_data_ready(void);
};

我想创建一个实例
MMA7455 accel = MMA7455(0x21);

但出现以下消息
In function `global constructors keyed to accel':
sensors.cpp:(.text+0x8): undefined reference to `MMA7455::MMA7455(unsigned char)'

为什么要寻找“unsigned char”参数?即使我尝试隐式转换常量的类型,也出现相同的消息
MMA7455 accel = MMA7455((uint8_t)0x21);

最佳答案

您可能没有链接包含构造函数定义的.cpp文件。 “uint8_t”是'unsigned char'的typedef。

09-18 09:27