// In top-level scope. struct TopLevelStruct { int member; }; TopLevelStruct top_level_struct; // Nested in a class. struct OuterStruct { struct InnerStruct { int member; }; }; OuterStruct::InnerStruct inner_struct; // Behind typedef. struct UnderlyingTypedefStruct { int member; }; typedef UnderlyingTypedefStruct TypedefStruct; TypedefStruct typedef_struct; // In namespace. namespace NS { struct NamespaceStruct { int member; }; } // namespace NS NS::NamespaceStruct namespace_struct; // In unnamed namespace. namespace { struct UnnamedNamespaceStruct { int member; }; } // namespace UnnamedNamespaceStruct unnamed_namespace_struct; // In linkage spec. extern "C" { struct ExternCStruct { int member; }; } ExternCStruct extern_c_struct; int main() { struct DeclInFunc { int member; }; DeclInFunc decl_in_func; return unnamed_namespace_struct.member; // break here }