首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Arduino 1.6.9/1.610构建失败,并显示"'constexprint‘not name a type“

Arduino 1.6.9/1.610构建失败,并显示"'constexprint‘not name a type“
EN

Stack Overflow用户
提问于 2016-07-26 05:23:51
回答 1查看 223关注 0票数 2

据推测,Arduino的集成开发环境> 1.6.2支持C++11。

我刚刚下载并在OSX上运行了1.6.9版本(正如其他人所报道的那样,这也适用于Windows,1.6.9/1.6.10)。

我不能编译这个简单的程序:

代码语言:javascript
复制
constexpr int get_five() { return 5; }

void setup() {
  Serial.begin(9600);
  Serial.println(get_five());
}

void loop() {
}

当我尝试构建或上传时,收到以下错误:

代码语言:javascript
复制
sketch_jul25a:1: error: 'constexprint' does not name a type
 constexpr int get_five() { return 5; }
 ^
exit status 1
'constexprint' does not name a type

我看过这个问题和答案,但它在我使用的1.6.9版本的集成开发环境中不再适用-- error: 'constexpr' does not name a type m- arduino ide

我深入研究了构建时由集成开发环境输出的临时文件,它似乎试图自动生成函数的头文件(我假设是为了支持多文件草图),并且在遇到constexpr时做了错误的事情

代码语言:javascript
复制
#include <Arduino.h>
#line 1 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
#line 1 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
#line 1 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
constexprint get_five(); // **** <- This looks to be the culprit
#line 3 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
void setup();
#line 9 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
void loop();
#line 1 "/Users/<my_username>/Documents/Arduino/sketch_jul25a/sketch_jul25a.ino"
constexpr int get_five() { return 5; }

void setup() {
  Serial.begin(9600);
  Serial.println(get_five());
}

void loop() {
}

这是Arduino IDE中的错误吗?它是OSX独有的吗?是否有允许constexpr工作的变通方法?

在谷歌搜索中,我发现一些Arduino库正在使用constexpr,所以我假设它在某些情况下可以工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-26 05:32:34

这是arduino-builder的一个已知限制。

在它被修复之前,您可以自己在函数之上添加一个原型。这将防止IDE错误地生成自己的代码。

代码语言:javascript
复制
constexpr int get_five();
constexpr int get_five() { return 5; }

void setup() {
  Serial.begin(9600);
  Serial.println(get_five());
}

void loop() {
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38577672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档