В классе:
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. Этот вопрос предполагает задать причину явного определения статической переменной.