21

クラス メンバーである static const ベクトルを初期化する必要があります。

私が試してみました:

static const vector<string> vr ({"2", "3", "4"});  

static const vector<string> vr = {"2", "3", "4"}; 

static const vector<string> vr {"2", "3", "4"};

ただし、これらはどれも機能しません。

私はmingwでEclipseを使用しています。(c++11を有効にしました)

4

3 に答える 3

17

静的変数の初期化は、次のようにクラスの外部で行われます。

class Example
{
    static const vector<string> vr;
    // ...
};

const vector<string> Example :: vr ({"hello", "world"});
于 2012-10-12T09:28:45.940 に答える
13

クラス定義で静的メンバーを宣言しますが、外部で定義します。

class MyClass {
public:
    // declaration
    static const std::vector<std::string> vec;
};

// definition
const std::vector<std::string> MyClass::vec = ...;

これの例外は整数型です、

class MyClass {
public:
    // declaration and definition
    static const int MAX_BURRITOS = 5;
};
于 2012-10-12T09:27:34.217 に答える