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

jak*_*451 0 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
Run Code Online (Sandbox Code Playgroud)

Compass.h

#pragma once

class Compass
{
private:
    double x,y,z;

public:
    void refresh();

    double getX();
    double getY();
    double getZ();
};
Run Code Online (Sandbox Code Playgroud)

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

Mic*_*urr 5

你可能在某个地方错过了一个分号 - 可能是在一个类的结束括号或结构声明中丢失了一个.

结尾真的有一个分号class Compass吗?你的问题中有一个; 我只是想确保它真的存在于文件中(有大量的SO问题需要手动输入代码而不是使用剪贴板复制).

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