2

この C++ コードは、コンパイル時にリンカー エラーを生成しています。

// A.h
class A {
    public:
        static void f();
    private:
        static std::vector<int> v;
};

// A.cpp
void A::f() {
    // this line is causing trouble
    int i = v.size();
}

ベクトル宣言を cpp ファイルに移動すると機能します。"Undefined symbols"ただし、上記のコードのリンカ エラーの原因を理解したいと思います。上記のコードでリンカー エラーが発生する原因は何ですか?

4

2 に答える 2