小编ser*_*ans的帖子

头文件编码与cpp编码:不同的行为

我发现除非在头文件本身上声明,否则某些代码将无法工作.例如,使用以下代码,调用test()时将打印"Hello World":

//Myclass.h
class Myclass {
private:
    SoftwareSerial *ss;
public:
    void test() {
        ss = & SoftwareSerial(0,1);
        ss->begin(9600);
        ss->print("Hello World");;
    };
};
Run Code Online (Sandbox Code Playgroud)

但是,如果我只是在标头上声明方法test()并像往常一样在单独的cpp上编码,使用完全相同的代码,它会编译但不输出任何内容:

//Myclass.cpp
void Myclass::test(){
    ss = & SoftwareSerial(0,1);
    ss->begin(9600);
    ss->print("Hello World");
 };
 //this won't output anything
Run Code Online (Sandbox Code Playgroud)

这是为什么?

c++ arduino

1
推荐指数
1
解决办法
153
查看次数

标签 统计

arduino ×1

c++ ×1