Ответ 1
Инициализация статической переменной выполняется вне класса, например:
class Example
{
static const vector<string> vr;
// ...
};
const vector<string> Example :: vr ({"hello", "world"});
Мне нужно инициализировать статический член класса const vector... Я пробовал
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 (я включил С++ 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;
};