NLM_CONNECTIVITY_DISCONNECTED = 0,
NLM_CONNECTIVITY_IPV4_NOTRAFFIC = 0x1,
NLM_CONNECTIVITY_IPV6_NOTRAFFIC = 0x2,
NLM_CONNECTIVITY_IPV4_SUBNET = 0x10,
NLM_CONNECTIVITY_IPV4_LOCALNETWORK = 0x20,
NLM_CONNECTIVITY_IPV4_INTERNET = 0x40,
NLM_CONNECTIVITY_IPV6_SUBNET = 0x100,
NLM_CONNECTIVITY_IPV6_LOCALNETWORK = 0x200,
NLM_CONNECTIVITY_IPV6_INTERNET = 0x400
} NLM_CONNECTIVITY;
Как вывести название переменных NLM_CONNECTIVITY_DISCONNECTED, а не их значение?
Никак
Реально?
Сделать функцию отдельную типа NLM_CONNECTIVITY_to_string. А в ней через switch case переводить в строку)
Просто в Отладчике я вижу именно имена, а вывожу через cout и вижу цифру
Потому что это отладчик)
Я бы вот так сделал просто да и все)
только зачем дублировать название типа в имени функции, если можно перегружать to_string для каждого нужного enum'а
Ну да, можно.... Туго соображаю просто)
создаёшь enum class, а не enum и статическим методом по выводу названий, который принимает экземпляр этого же класса и выводит, что нужно.
Что значит делаешь у него метод? enum class это не класс, он не может содержать никаких методов
класс, который содержит обычный enum + методы нужные, ок
Ну всё-таки enum class имеет другой смысл, плохая формулировка
Ну это да, просто забыл, что enum class не может содержать методов )
Легко делается кодгеном без страшных макросов и прочего
Обсуждают сегодня