Russian Qt Forum
Ноябрь 23, 2024, 21:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: глобальные переменные  (Прочитано 6361 раз)
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'
Записан
BRE
Гость
« Ответ #1 : Февраль 05, 2010, 10:53 »

Где нибудь в .cpp:
Код
C++ (Qt)
QString Gls::hh;
 
Записан
lyalya
Гость
« Ответ #2 : Февраль 05, 2010, 10:59 »

Где нибудь в .cpp:
Код
C++ (Qt)
QString Gls::hh;
 

Код:
ошибка: недопустимое использование квалифицированного имени ‘Gls::hh’
   Грустный
Записан
BRE
Гость
« Ответ #3 : Февраль 05, 2010, 11:03 »

А #include "globals.h" сделал?
Записан
lyalya
Гость
« Ответ #4 : Февраль 05, 2010, 11:06 »

да, и в .pro тоже на всякий.. но не полегчало(

может Gls как-нить не так надо описывать?
Записан
BRE
Гость
« Ответ #5 : Февраль 05, 2010, 11:07 »

Попробуй добавить в globals.h:
#include <QString>
Записан
lyalya
Гость
« Ответ #6 : Февраль 05, 2010, 11:16 »

к сожалению, тоже самое  Грустный
Записан
BRE
Гость
« Ответ #7 : Февраль 05, 2010, 11:18 »

Стоп, а где именно ты написал QString Gls::hh?

main.cpp
Код
C++ (Qt)
#include "globals.h"
 
QString Gls::hh;
 
int main(...)
{
}
 
Записан
lyalya
Гость
« Ответ #8 : Февраль 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'
Записан
BRE
Гость
« Ответ #9 : Февраль 05, 2010, 11:26 »

Строка QString Gls::hh; должна быть только в одном месте (в одном файле cpp).
Записан
lyalya
Гость
« Ответ #10 : Февраль 05, 2010, 11:32 »

ну я тупица.... спасибо огромное! Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.177 секунд. Запросов: 21.