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