Arduino上的头文件出现奇怪的编译器错误

时间:2012-04-02 23:40:18

标签: c++ arduino

我开始一个项目并开始构建它的一些结构。我将每个传感器的头文件和c ++源文件放在Arduino传感器库下的一个名为“Sensors”的文件夹中。它抱怨的文件相当小而且无趣,因为刚刚创建它。

错误:

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();
};

抱怨multiple types in one declaration。但文件似乎没问题。有什么我想念的吗?我忽略了什么?

1 个答案:

答案 0 :(得分:5)

你可能在某个地方错过了一个分号 - 可能是在一个类或结构声明的右大括号中缺少一个分号。

class Compass末尾是否真的有一个分号?你的问题中有一个;我只是想确保文件中确实存在(有很多SO问题需要手动输入代码而不是使用剪贴板复制)。

如果那里有分号,请检查Compass.h在该文件中的最后一个声明之后是否需要分号(如果需要)之前包含的任何标题。