雖然聯的代碼:「未定義」 參照++類成員用C
#include <map>
using std::map;
#include <string>
using std::string;
class C {
public:
static void dump() {
for (const auto& e : data) {
string(e.first);
}
}
private:
static map<string,map<string,string>> data;
};
int main() {
C::dump();
}
...我得到這個錯誤:
/tmp/cc4W2iNa.o: In function `C::dump()':
test.cpp:(.text._ZN1C4dumpEv[_ZN1C4dumpEv]+0x9): undefined reference to `C::data'
collect2: error: ld returned 1 exit status
...從克++(GCC)4.9.1 。 我做錯了什麼?
我們確實應該爲這個問題找到一個不太令人困惑的副本(或者將其打成更通用的形狀),但它仍然是被選中的主題之一。 – 2014-10-06 22:07:49
更全面的重複在這裏:http://stackoverflow.com/questions/7092765 – 2014-10-06 22:17:53