Доброго времени суток.. натолкнулся на проблему которая просто взорвала мне мозг..
Вообщем есть глобальная переменная определённая в файле Enums.h :
namespace Transac
{
static int cre = 3;
};
Transac::cre = -1;
emit doneSuccesfully();
return true;
}
void visualRequestEdit::slotCreateRequest()
{
qDebug() << ":::::" << Transac::cre;
// main
#include "enums.h"
#include "hmm2.h"
#include "hmm.h"
int main(int argc, char *argv[])
{
int t = 20;
hm();
t = DataBase::TA;
return 0;
}
// enums.h
#ifndef ____nawjefawef
#define ____nawjefawef
namespace DataBase{ static int TA = 4; };
#endif
// hmm.h
#ifndef _awkjrefhl234
#define _awkjrefhl234
#include "enums.h"
#include "hmm2.h"
void hm()
{
int i = DataBase::TA;
DataBase::TA = 9;
hm2();
return;
}
#endif
// hmm2.h
#ifndef _awkjrefhl
#define _awkjrefhl
#include "enums.h"
void hm2()
{
int h = DataBase::TA;
DataBase::TA = -9;
return;
}
#endif
Мдя =( про exteren-то я и позабыл...
Меня вот только оч смущает почему же на чистом с++ пример работал. Хотя там попытался нечто похожее сделать... Пойду гляну что Страуструп на эту тему пишет..
Добавил в сpp файлы где использую Transac::cre
extern int Transac::cre;
Да только воз и ныне там.. что-то я не догоняю=(
namespace Transac
{
extern int cre;
};
namespace Transac
{
int cre = 3;
};
Kagami,
Посмотрел ваш пример, у меня мой пример на чистом С++ тоже работает. Вероятно вся проблема в моём случае в компоновке так как высылающий сигнал класс и принимающий в разных cpp файлах... сейчас попробую пошаманить ещё..
DmP
Вы оказались правы=) Фуф ну наконец-то, а то замучался совсем... с другой стороны выявил места в которых мне ещё надо поразбираться..
Всем спасибо за помощь!)
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)