C ++使用enum' ___'没有先前在头文件中声明?

时间:2015-04-29 19:58:32

标签: c++

我尝试使用枚举来表示交通模拟中的街道和方向。我遇到了一个试图包含在我的Vehicle头文件中的问题,将枚举放入构造函数并将其放入Vehicle构造函数中。

我在尝试编译Vehicle.h时遇到错误   - 使用enum' street / direction'没有事先声明。   - '之前的两个预期标识符,'令牌,我声明了车辆构造函数

这是我到目前为止所拥有的。

//Street.h

#ifndef STREET_H
#define STREET_H

enum street
{
    Main = 1,
    Church,
};

#endif

//Direction.h

#ifndef DIRECTION_H
#define DIRECTION_H

enum direction
{
    E = 1,
    W,
    N,  
};

#endif

//Vehicle.h

#ifndef VEHICLE_H  
#define VEHICLE_H

#include "Street.h"
#include "Direction.h"

class Vehicle
{
   private:
    int vehicleNumber;
    int arrivalTime;
    int departureTime;
    enum street;
    enum direction;

   public:
    Vehicle(int, enum, enum, int);
};

#endif

1 个答案:

答案 0 :(得分:3)

Vehicle(int, enum, enum, int);

这是不正确的,你应该使用你想要的枚举类型的名称(在这种情况下是streetdirection 而不是关键字enum

这些成员变量也是如此(感谢@Unda注意)。