Arduino IDE:“没有命名类型”,为啥我不能写这段代码? [复制]
Posted
技术标签:
【中文标题】Arduino IDE:“没有命名类型”,为啥我不能写这段代码? [复制]【英文标题】: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:
我在开始时定义了三个变量,然后为每个变量设置了值。 我可能会因为发布此内容而受到很多讨厌,但那里根本没有明确的解释。
【问题讨论】:
【参考方案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;
希望对你有帮助!
【讨论】:
以上是关于Arduino IDE:“没有命名类型”,为啥我不能写这段代码? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
基于Arduino IDE的ESP8266 ESP8266编程问题
为啥我会收到此错误? “[variable] 没有命名类型”在 C++ 中用于 std::string 数组,即使它已被包含并且在同一范围内