Правильное место для инициализации значения статической переменной-члена

0

Правильно ли инициализировать мою статическую переменную-член в классе конструктора?

// CFoo.h
class CFoo
{
public:
    CFoo();
    ~CFoo();
    static std::string str;
};

// CFoo.cpp
CFoo::CFoo()
{
    str = "HELLO";
}

CFoo::~CFoo()
{
}

благодаря

Теги:

1 ответ

1
Лучший ответ

Вы еще не define статический член. Вы должны определить его в CFoo.cpp.

CFoo.cpp

std::string CFoo::str;  // define str

CFoo::CFoo()

{
    str = "HELLO";  // reset str is fine
}

CFoo::~CFoo()
{
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню