Is it possible to mark an enum value as deprecated?
e.g.
enum MyEnum { firstvalue = 0 secondvalue, thirdvalue, // deprecated fourthvalue };
A second prize solution would be to ifdef a MSVC and a GCC solution.
you could do this:
enum MyEnum { firstvalue = 0, secondvalue, thirdvalue, // deprecated fourthvalue }; #pragma deprecated(thirdvalue)
then when ever the variable is used, the compiler will output the following:
warning C4995: 'thirdvalue': name was marked as #pragma deprecated
EDIT
This looks a bit hacky and i dont have a GCC compiler to confirm (could someone do that for me?) but it should work:
enum MyEnum { firstvalue = 0, secondvalue, #ifdef _MSC_VER thirdvalue, #endif fourthvalue = secondvalue + 2 }; #ifdef __GNUC__ __attribute__ ((deprecated)) const MyEnum thirdvalue = MyEnum(secondvalue + 1); #elif defined _MSC_VER #pragma deprecated(thirdvalue) #endif
it's a combination of my answer and MSalters' answer
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With