Why does the following code work (Utilities is a namespace):
template<>
std::map<uint8_t, std::string> A::Utilities::EnumDescription<A::B::Tabs, uint8_t>::descMap =
{...};
while this one does not?
namespace A
{
namespace B
{
template<>
std::map<uint8_t, std::string> A::Utilities::EnumDescription<Tabs, uint8_t>::descMap = // Error --> descMap
{...};
}
}
Error C2888: symbol cannot be defined within namespace 'B'
Member "A::Utilities::EnumDescription::descMap [with E=A::B::Tabs, T=uint8_t]" cannot be specialized in the current scope
{...}is pseudo-code.