[
Example 1:
enum E { x };
void f() {
int E;
using enum E;
}
using F = E;
using enum F;
template<class T> using EE = T;
void g() {
using enum EE<E>;
}
—
end example]
[
Note 1:
A
using-enum-declaration in class scope
makes the enumerators of the named enumeration available via member lookup
. [
Example 2:
enum class fruit { orange, apple };
struct S {
using enum fruit;
};
void f() {
S s;
s.orange;
S::orange;
}
—
end example]
—
end note]
[
Note 2:
[
Example 3:
enum class fruit { orange, apple };
enum class color { red, orange };
void f() {
using enum fruit;
using enum color;
}
—
end example]
—
end note]