私は、そのプライベートメンバ静的なマップであるクラスを持っている:クラスのprivateメンバー静的マップを初期化するには、値が構造体である必要がありますか?
Class Devices
{
...
private:
struct DevicePair
{
int nCtr;
bool isToAdd;
};
DevicePair m_DevPair;
static map <string, DevicePair> m_SYSdeviceMap;
};
は、なぜ私はcppのファイルにこれを行うことはできませんか?
map <string, DevicePair> Devices::m_SYSdeviceMap;
これをcppファイルでどのように初期化しますか? - std::map
map<string, Devices::DevicePair> Devices::m_SYSdeviceMap;
また、良いコーディングプラクティスとして、あなたのヘッダからusing namespace std;
を削除し、マップの使用を修飾:この行では
"using namespace std"を使用しないのはなぜですか? :D – Owen
@Owenなぜなら、大量の望ましくない型やメソッドを使ってグローバル名前空間を汚染するからです。 –
ああ...私はそれを得る...ありがとう! – Owen