Как называется ошибка, которая не позволяет использовать :: для разрешения перечисления?

Когда я использую enum в C ++, я люблю использовать EnumName::Value (в отличие от просто Value). В C ++ это либо предупреждение, либо ошибка, в зависимости от настроек компилятора.

В XCode, как называется настройка, которая позволит мне не это возникло как ошибка компилятора?

введите описание изображения здесь

(Принимая ErrorLevel:: прочь исправит ошибку)

0

Решение

  • если вы используете , Ваш синтаксис правильный:

    enum EnumName
    {
    Value
    }
    ...
    EnumName n = EnumName::Value;
    

    Также обратите внимание, что если вы используете , вы можете требовать использование EnumName::Value вместо просто Value используя enum class вместо enum:

    enum class EnumName
    {
    Value
    }
    ...
    EnumName n = EnumName::Value; //ok
    EnumName fuuu = Value; // compilation error
    
  • в противном случае вы можете обернуть объявление enum пространством имен

    namespace EnumName {
    enum EnumName
    {
    Value
    }
    }
    ...
    EnumName::EnumName n = EnumName::Value;
    
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]