Доброе время суток!
Не знаю точно, в этот ли раздел писать, но, идея завела сюда...
В приложении много классов, есть глобальные переменные, инициализирую в главном виджете... Но в дочерних виджетах они остуются без инициализации... Переменные статические, volatile не помагает
//global.h
namespace global
{
static int value;
}
//MainWidget
class MainWidget : public QWidget...
{
...
explicit MainWidget(QWidget * parent) : QWidget(parent)
{
global::value = 4;
cw = new ChildWidget(this);
}
private:
ChildWidget * cw;
}
//ChildWidget
class ChildWidget : public QWidget
{
...
explicit ChildWidget(QWidget * parent) : QWidget(parent)
{
for(int i = 0; i < global::value; i++)
{ ... }
}
}
Программа вылетает при запуске, проверил отладчиком - не инициализирована переменная...
В классе ChildWidget инициализировать - не выход, т.к. на то она и глобальная, что еще много классов к ней обращаются...
Что может быть?
Спасибо!