2013-12-08 4 views
14

У меня есть следующие спецификации перечислимых:Разработал типа-спецификатор для контекстных перечислений не должен использовать ключевое слово «класс»

enum class FaceDirection : int8 
{ 
    Down, 
    Up 
}; 

г ++ 4.8.1 дает следующее сообщение об ошибке:

warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword

Что вызывает это?

+7

В следующий раз попробуйте clang ++;) * "error: имя неизвестного типа 'int8'; вы имели в виду 'int'?" * – dyp

+0

@DyP, я продолжаю хорошо разбираться в clang. Это будет действительно подходящий проект, чтобы попробовать его. Благодарю. –

+2

Было бы замечательно, если бы вы отправили сообщение об ошибке для GCC тоже! – polkadotcadaver

ответ

19

Проверьте тип, который вы получаете, enum class от существующего. В этом случае не было указанного typedef для int8.

+4

Я разместил этот вопрос/ответ, потому что Google очень мало появлялся в сообщении об ошибке. Надеюсь, это поможет кому-то. –

+1

Это было! Спасибо. – Quuxplusone

+3

Слава богу за этот ответ, разрывал мои волосы об этом. Такое ужасное сообщение об ошибке. – Skurmedel

 Смежные вопросы

  • Нет связанных вопросов^_^