LINUX.ORG.RU

vector<string> как static-член


0

0

Привет!

Возникла ситуация: нужно сделать сабж.

Напр:

class A

{

public:

static vector<string> getVector();

private:

static vector<string> _vstr;

}

В *.cpp:

vector<string> A::getVector()

{

return A::_vstr;

}

Вопрос:

Как в начале проинициализировать эти static-вектора?

Спасибо.

anonymous

Что значит - проинициализировать? Ты хочешь вначале туда что-то запихнуть?

Создай класс и глобальную переменную, в котором будет инициализация в конструкторе статиков происходить. Класс можешь сделать по шаблону singleton.

Spectr ★★★
()
Ответ на: комментарий от Spectr

>Что значит - проинициализировать? Ты хочешь вначале туда что-то запихнуть?

Именно, так как компилер ругается, если не инициализированы.

anonymous
()
Ответ на: комментарий от anonymous

> В *.cpp:

static vector<string> A::_vstr;

> vector<string> A::getVector()

> {

> return A::_vstr;

> }

то он у тебя просто объявлен был, но не определен :)

Spectr ★★★
()

Я не вижу определения этого статического члена. Добавь в какой-нибудь cpp:

vector<string> A::_vstr;

Оно?

WFrag ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.