Я пытаюсь переключить регистр и наследование в C ++ и обнаружил некоторые проблемы / предупреждения.
Например, у меня есть абстрактный базовый класс. Поле:
Field.h
class Field{
private:
FieldType type_;
public:
enum FieldType
{
GRASS,WATER,STREET,HOME,TOWNHALL
};
virtual bool checkIsBuildable(Fieldtype type);
Теперь я получаю предупреждения в подклассах Buildings.cpp и Properties.cpp:
warning enumeration value GRASS,WATER,STREET bit handled in switch
Так как это bool, я просто могу вернуть false или true по умолчанию, и метод не будет работать правильно или?
Я просто хочу проверить, например, Дом и Ратуша в Buildings.cpp и Трава, Вода и Улица в Свойствах.
Buildings.cpp
bool Buildings::isBuildable(Field::FieldType type)
{
switch(type)
{
case Field::HOME:
return true;
case Field::TOWNHALL:
return false;
}
}
Properties.cpp
bool Properties::isBuildable(Field::FieldType type)
{
switch(type)
{
case Field::GRASS:
return true;
case Field::WATER:
return false;
case Field::STREET:
return false;
}
}