0
我有一个类myClass
,它有一个类型定义,myType
,和static const std::map
使用这种类型。我如何初始化成员?静态,私人会员,内部类型
情况就是这样。编译器告诉我:multiple definition of MyClass::myMap
。但实际上只有一个定义。这个初始化(示意图)是否正确?
class myClass
{
struct myType
{
// ...
};
static const std::map<int, myType> myMap;
};
const std::map<int, myType> myClass::myMap = {
{1, {"hello myType", 99, "woops"}},
{2, {"hello again", 66, "holla"}},
{3, {"and bye", 33, "adios"}}
};
这不是一个重复的,因为在所提出的问题const
成员不是静态的。
而且这个问题:Initializing private static members 因为static const
成员int
的不回答这个问题。
你忘了';'后结构 –
是不是真的'常量MyClass的::性病::地图 myMap'而不是'常量的std ::地图 MyClass的:: myMap'?第一个不应该编译,因为没有'myClass :: std :: map'。 –
immibis
我修正了它们,它不存在于我的代码中,因此不是问题。 – dani