20 lines · cpp
1struct Outer {2 Outer() {}3 4 template <class T>5 struct Inner {};6};7 8namespace NS {9namespace {10template <typename T> struct Struct {};11template <typename T> struct Union {};12} // namespace13} // namespace NS14 15int main() {16 Outer::Inner<int> oi;17 NS::Struct<int> ns_struct;18 NS::Union<int> ns_union;19}20