"하나의 선언에 여러 유형"이 있지만 그렇지 않습니다.없어진

StackOverflow https://stackoverflow.com/questions/600707

  •  03-07-2019
  •  | 
  •  

문제

Code::Blocks(gcc 컴파일러)를 사용하여 내 프로그램을 컴파일하려고 했습니다.그리고 오류가 발생합니다.불평하는 소스 파일은 다음과 같습니다.

#ifndef BOT_H
#define BOT_H

#include "player.h"
#include "timer.h"

class BOTS; // forward decalaration of BOTS

class BOT : public PLAYER
{
public:
    enum BotStatus{BotMoving,BotPursue,BotChasePowerup};
    enum BotMovDir{Up,Down,Left,Right,Forward,Backward};
    enum BotSkill{Easy,Normal,Hard,Expert,Insane};
protected:
    BotStatus Status;  // this is the line it complaining about
    BotMovDir CurrentMov;
    TIMER CTimer;
    bool Stucked;
    BotSkill Skill;
    VECTOR3D AimTarget;
//  VECTOR3D ShotTarget;
    PLAYER *PursueObj;
    bool SameLevel;
    BOTS *Owner;
    bool PlayerHitMe;
    void OnDamage(double dmg,const wchar_t *Shooter,bool s);
    void OnReset();
public:
    BOT(BOTS *o,const wchar_t *botname) : PLAYER(botname), PlayerHitMe(false), Status(BotMoving), Skill(Easy), Owner(o)
    {
        PlayerInit();
    }
    void SetSkill(BotSkill bs) {Skill=bs;}
    void BotControl();
    void SetSameLevel(bool s) {SameLevel=s;}
    virtual ~BOT() {}
};

#endif

그것은 16번째 줄의 "하나의 선언에 여러 유형이 있다"고 불평하며 나를 미치게 만듭니다.나는 많이 봤지만 일반적인 해결책은 "빠진 세미콜론 찾기"입니다.그리고 문제는 누락된 세미콜론이 전혀 없다는 것입니다.주석이 있거나 심지어 eof를 넘어서더라도(파일이 작아지도록 모든 필드를 제거하는 경우) 항상 16번째 줄(적어도 보호된 줄 다음)을 가리킵니다.

(이 문제는 사소한 것일 수도 있고 지금은 피곤할 수도 있으니 잠을 자야겠습니다.그리고 누군가가 내일 아침까지 나에게 조언을 해주기를 바랍니다.)

도움이 되었습니까?

해결책

수업이 있거나 다른 UDT라는 이름이 있습니까? Status? 회원의 이름을 변경하면 Status_ ?

다른 팁

이다 "Status" 매크로 또는 헤더 중 하나(또는 포함된 항목)에 선언/정의된 매크로인가요?

나는 바보다...

코드 :: 블록은 파일을 컴파일하기 전에 소스 파일을 저장하지 않아도됩니다. MSVC ++는 컴파일하기 전에 항상 저장하십시오. 그것이 진짜 문제였습니다.

코드 어딘가에 상태 매크로가있는 것 같습니다. 그러나 그것은 내 자신의 유형이 아니 었습니다. 아마도 wxwidgets 헤더의 매크로 일 것입니다 ...

당신이 보여준 파일은 a입니다 헤더 파일. 당신이 가진 문제는 일부의 16 번째 줄에 있습니다. 원천 파일입니다 #include그 헤더. 복사 할 수 있습니까? 정확한 오류 메시지에 참조 된 파일의 관련 부분뿐만 아니라 수신중인 오류 메시지?

마지막에는 세미콜론이 누락되었습니다 이전 클래스 선언은 불평하는 것이 아닙니다. 오류는 아마도 "Timer.h"에 있을지 모르지만 "player.h"에있을 수 있습니다.

일등석 정의 전에 2 등석 선언이 필요하지 않을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top