Russian Qt Forum

Программирование => С/C++ => Тема начата: lyalya от Февраль 05, 2010, 10:44



Название: глобальные переменные
Отправлено: lyalya от Февраль 05, 2010, 10:44
доброе время суток)
понятно, что вопрос глупый, но видимо что-то не так делаю,потому что не выходит ничего. Наставьте,пожалуйста,на путь истинный...
проблема вот в чем: нужна глобальная переменная,которая будет видна и в form1.cpp и в form2.cpp
Делаю так:
globals.h
Код:
 
#ifndef GLOBALS_H
#define GLOBALS_H
class Gls{
public:
static QString hh;
};
#endif

потом в form1.cpp:
Код:
#include "globals.h"
Gls::hh="good";

Ошибка: undefined reference to `Gls::hh'


Название: Re: глобальные переменные
Отправлено: BRE от Февраль 05, 2010, 10:53
Где нибудь в .cpp:
Код
C++ (Qt)
QString Gls::hh;
 


Название: Re: глобальные переменные
Отправлено: lyalya от Февраль 05, 2010, 10:59
Где нибудь в .cpp:
Код
C++ (Qt)
QString Gls::hh;
 

Код:
ошибка: недопустимое использование квалифицированного имени ‘Gls::hh’
   :(


Название: Re: глобальные переменные
Отправлено: BRE от Февраль 05, 2010, 11:03
А #include "globals.h" сделал?


Название: Re: глобальные переменные
Отправлено: lyalya от Февраль 05, 2010, 11:06
да, и в .pro тоже на всякий.. но не полегчало(

может Gls как-нить не так надо описывать?


Название: Re: глобальные переменные
Отправлено: BRE от Февраль 05, 2010, 11:07
Попробуй добавить в globals.h:
#include <QString>


Название: Re: глобальные переменные
Отправлено: lyalya от Февраль 05, 2010, 11:16
к сожалению, тоже самое  :(


Название: Re: глобальные переменные
Отправлено: BRE от Февраль 05, 2010, 11:18
Стоп, а где именно ты написал QString Gls::hh?

main.cpp
Код
C++ (Qt)
#include "globals.h"
 
QString Gls::hh;
 
int main(...)
{
}
 


Название: Re: глобальные переменные
Отправлено: lyalya от Февраль 05, 2010, 11:24
так же,но у меня так  в form1.cpp:
Код:
#include "globals.h"
QString Gls::hh;
ClassSheaf::ClassSheaf(QWidget * parent)
     : QWizard(parent)
{
.....
qDebug()<<Gls::hh;
}

ну и form2 аналогично

а пишет: multiple definition of `Gls::hh'


Название: Re: глобальные переменные
Отправлено: BRE от Февраль 05, 2010, 11:26
Строка QString Gls::hh; должна быть только в одном месте (в одном файле cpp).


Название: Re: глобальные переменные
Отправлено: lyalya от Февраль 05, 2010, 11:32
ну я тупица.... спасибо огромное! :)