鉴于以下类型特征,我如何Fields
使用一些std::pair
s 进行初始化?
template <>
struct ManagerDataTrait<Person>
{
static const std::unordered_map<std::string, std::string> Fields;
// ...
};
我尝试使用 lambda,但 Visual Studio 说这Fields
不是一个可以明确专门化的实体。
template <>
const std::unordered_map<std::string, std::string> ManagerDataTrait<Person>::Fields = []{
std::unordered_map<std::string, std::string> fields;
fields.insert(std::make_pair("height", "FLOAT"));
fields.insert(std::make_pair("mass", "FLOAT"));
return fields;
};
如果没有办法在特征中使用这样的静态成员,我必须将哪些信息存储在特征中?(Fields
拥有一个 SQL 数据库结构。)
更新:该成员可能也是const
,但这不应该是重点。