2012-04-02 5 views
0

프로젝트를 시작하고 빌드를 시작합니다. 나는 "센서"라는 이름의 Arduino의 센서 라이브러리 아래에있는 헤더 파일과 C++ 소스 파일로 각 센서를 기반으로합니다. 불만을 제기하는 파일은 방금 생성 된 이후 작고 흥미롭지 않습니다.Arduino의 헤더 파일에 이상한 컴파일러 오류가 발생했습니다.

오류 :

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 뿌려줍니다. 하지만 파일은 괜찮은 것 같습니다. 제가 누락 된 것이 있습니까? 간과 한 것?

답변

5

아마도 어딘가에 세미 콜론이 누락되었을 것입니다. 클래스 또는 구조체 선언의 닫는 중괄호에서 누락 된 것일 수 있습니다.

class Compass 끝에 실제로 세미콜론이 있습니까? 귀하의 질문에 하나가 있습니다; 단지 파일에 실제로 있는지 확인하기를 원합니다 (클립 보드를 사용하여 수동으로 코드를 입력하는 대신 놀랄만큼 많은 질문이 있습니다).

거기에 세미콜론이있는 경우 Compass.h 앞에 해당 세미콜론이 있는지 확인하십시오 (필요한 경우). 해당 파일의 마지막 선언 다음에 세미콜론이 필요합니다.

+0

'Compass'의 마지막 부분에서 불평하면, 아마도 Aircraft.h에서 세미콜론이 누락 된 이전 클래스가됩니다. – je4d

+0

Compass 끝에 세미콜론이 있습니다. 그러나 @ je4d가 언급했듯이 다른 파일에 언급 된 세미콜론은 없습니다. 그냥 몇 가지 다른 파일을 열어 그 클래스 정의 끝에 Gyro.h가 누락 된 세미콜론을 발견했습니다. 감사! – jakebird451

관련 문제