c++ - 初始化静态字段

标签 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:##: 对程序传感器的 undefined reference

最佳答案

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

Sensor* Sensor::sensor;

在 .cpp 文件中它会起作用。

关于c++ - 初始化静态字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55667137/

相关文章:

C++ 定义类(模式?)

c++ - 我不明白使用sse的代码在哪里有问题

c++ - C++中的链表

android - 如何通过wifi从arduino发送数据到处理?

c - 位屏蔽数组索引,Arduino 环境

c++ - 我已经创建了一个模板函数,但在检查输入是奇数还是偶数时出现错误 C++

c++ - 从 wglUseFontOutlines 获取积分?

python - PySerial 延迟从 Arduino 读取行

Arduino Uno 的 C++ 调度程序

iphone - 使用 iPhone LCD 与 Arduino