鉴于以下类型特征,我如何初始化Fields
以及一些std::pair
?如何初始化类型特征的静态std :: unordered_map?
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
但这不应该是重点。
为了您的拉姆达工作的东西就需要实际_run_拉姆达,但你还没有尝试这样做(你刚刚试图从lambda构造哈希映射,这是无效的,但肯定不会运行lambda。) –