Я объявил статическую переменную-член, объявленную в one.h и инициализированную в one.cpp следующим образом;
one.h
class one{
public static bool var1;
public void change();
}
one.cpp
#include 'one.h'
bool one::var1 = false;
void one::change()
{
one::var1 = true;
}
Функция изменения вызывается из другого потока.
Теперь в two.cpp Iиметь следующий код;
#include 'one.h'
class two{
public void fun()
{
//check the value of one::var1 after the change function has been called
}
}
Внутри этой функции значение, которое я получаю для one :: var1, всегда ложно.
Я читал о статических членах, которые являются локальными для определенного файла.Я не уверен в этом поведении.
Почему это не меняет значение статической переменной?