error: enum class * is not a class or namespace

Viewed 42
enum class myEnum : short {
    one = 11,
    two = 22,
};

#define FOO(param) myEnum param() {return param;}

class testClass {
public:
    FOO(myEnum::one)
};

https://godbolt.org/z/z1j3sP7eW

I'm not sure why the compiler is telling me myEnum is not a class. Different compilers are telling me different errors, too.

1 Answers

As the commenters pointed out, this error comes from the generated function name, myEnum::one() being invalid.

Related