クラスメンバーである静的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"};
ただし、これらはいずれも機能しません。
Eclipseをmingwで使用しています。 (c ++ 11を有効にしました)
静的変数の初期化は、次のようにクラスの外部で行われます。
class Example
{
static const vector<string> vr;
// ...
};
const vector<string> Example :: vr ({"hello", "world"});
クラス定義で静的メンバーを宣言しますが、外部で定義します。
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;
};