В классе:
class foo
{
public:
static int bar; //declaration of static data member
};
int foo::bar = 0; //definition of data member
Мы должны явно определить статическую переменную, иначе это приведет к
undefined reference to 'foo::bar'
Мой вопрос:
Почему нам нужно дать явное определение статической переменной?
Обратите внимание, что это НЕ дубликат ранее заданных вопросов undefined reference to static variable
. Этот вопрос предполагает задать причину явного определения статической переменной.