5 enum Enum
{ Enum_0
= 1, Enum_1
= 2, Enum_2
= 4, Enum_3
= 8 };
6 enum class ScopedEnum
{ Enum_0
= 1, Enum_1
= 2, Enum_2
= 4, Enum_3
= 8 };
15 class Class
: public Base
{
17 Class(Enum e
) : m_ce(e
) {}
19 static int StaticFunc(const Class
&c
) {
20 return c
.PrivateFunc(c
.m_inner
) + Global
+ ClassStatic
;
25 static int ClassStatic
;
26 static const int ClassStaticConst
= 8;
27 static constexpr int ClassStaticConstexpr
= 9;
28 static constexpr float ClassStaticConstexprFloat
= 10.f
;
29 static constexpr double ClassStaticConstexprDouble
= 11.0;
30 static constexpr long double ClassStaticConstexprLongDouble
= 12.0;
31 static const Enum ClassStaticConstEnum
= Enum_3
;
32 static const ScopedEnum ClassStaticConstScopedEnum
= ScopedEnum::Enum_2
;
41 int PrivateFunc(const Inner
&i
) const { return i
.z
; }
45 int Class::ClassStatic
= 7;
55 void foo() { Template
<Class
>().TemplateFunc
<Enum_0
>(); }