我开始一个项目并开始构建它的一些结构。我在名为“Sensors”的文件夹中的 Arduino 传感器库下为每个传感器建立一个头文件和 c++ 源文件。它提示的文件相当小且无趣,因为它刚刚创建。
错误:
In file included from /Applications/Arduino.app/Contents/Resources/Java/libraries/PID/../Sensors/Sensors.h:6,
from Aircraft.h:5,
from Aircraft.cpp:1:
/Applications/Arduino.app/Contents/Resources/Java/libraries/PID/../Sensors/Compass.h:14: error: multiple types in one declaration
Compass.h
#pragma once
class Compass
{
private:
double x,y,z;
public:
void refresh();
double getX();
double getY();
double getZ();
};
它提示一个声明中有多个类型
。但文件似乎没问题。有什么我想念的吗?我忽略了什么?
最佳答案
您可能在某处遗漏了分号 - 可能在类或结构声明的右括号处遗漏了分号。
class Compass
的末尾真的有分号吗?您的问题中有一个;我只是想确保它确实存在于文件中(有数量惊人的 SO 问题是手动输入代码而不是使用剪贴板复制代码)。
如果那里有一个分号,请检查在 Compass.h
之前包含的任何 header 是否在该文件中的最后一个声明之后需要一个分号(如果需要)。
关于c++ - Arduino 上带有头文件的奇怪编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9985300/