1
我有以下代碼:私人與公共的typedef
//MyClass.h
class MyClass {
typedef std::map<std::string, int> OpMap;
static const OpMap::value_type opMap[OP_COUNT];
public:
//methods
};
//MyClass.cpp
const MyClass ::OpMap::value_type opMap[DDG::OP_COUNT] = {
MyClass ::OpMap::value_type("hello", 42),
MyClass ::OpMap::value_type("world", 88),
};
上述代碼的編譯失敗。 只有當我讓typdef公開的時候,它是可以的。 能否請你解釋爲什麼typedef
應該在這種情況下是公共
什麼是'DDG'? –
Srsly,什麼是DDG? – WhozCraig