【问题标题】:Arduino IDE: "does not name a type", why can't I write this code? [duplicate]Arduino IDE:“没有命名类型”,为什么我不能写这段代码? [复制]
【发布时间】:2017-11-20 20:56:53
【问题描述】:

那里有很多解释,但所有解释都非常具体且复杂。

谁能告诉我为什么这个简单的代码不能编译?

int varOne, varTwo, varThree;

varOne = 1;
varTwo = 2;
varThree = 3;

void setup() {
// put your setup code here, to run once:

}

void loop() {
// put your main code here, to run repeatedly:

}

我在开始时定义了三个变量,然后为每个变量设置了值。
我可能会因为发布此内容而受到很多讨厌,但那里根本没有明确的解释。

【问题讨论】:

    标签: c++ arduino


    【解决方案1】:

    在文件范围内,即在任何函数之外,你可以定义变量(包括它们的初始化)和其他东西,但你不能写像赋值这样的任意语句。

    所以你可以写...

    int varOne=1, varTwo=2, varThree=3;
    

    是定义和初始化,而

    int varOne;
    varOne = 1;
    

    是一个定义(合法)后跟一个赋值,这在文件范围内是非法的。

    【讨论】:

    • 好的,谢谢,这正是我需要的。我想其中一些问题必须在您自学时提出。
    【解决方案2】:

    您不能更改 setup 或 run 方法之外的任何变量,除非您同时定义它们。这是arduino的做事方式,这只是一个问题,因为后台代码都被隐藏了,否则,你可以做同样的事情。我建议:

    int var1 = 1, var2 = 2;
    

    或者把它放在设置中:

    int var1, var2;
    
    void setup() {
        var1 = 1;
        var2 = 2;
    }
    

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-16
      • 2022-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多