初始化静态场

时间:2019-04-13 15:37:17

标签: c++ arduino

我不明白为什么以下代码无法编译:

// program.h
class Sensor;

class Program {
private:
    static Sensor* sensor;
public:
    void SetSensor(Sensor *s) { sensor = s; }
};

我收到此编译器错误: cc3No0Or.ltrans0.ltrans.o *:在程序Program :: SetSensor(Sensor *)中 program.h:##:对程序传感器的未定义引用

1 个答案:

答案 0 :(得分:2)

您只有静态成员的声明,还需要定义... 添加

Sensor* Sensor::sensor;

在.cpp文件中,它将起作用。