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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Работа с глобальными переменными  (Прочитано 3893 раз)
Ovoshlook
Гость
« : Июль 31, 2010, 14:10 »

В общем нужна глобальная пиеременная. ДЕлаю все как в инструкции:

Создаю класс и описываю в нем глобальную переменную:

class Global
{
public:
    static int k;
};
 

Затем в фале *.срр, подключив свой класс "Global.h" обращаюсь к переменной


Global::k=0

Но выдается ошибка:

release/ctf.o:ctf.cpp.text+0x4a4): undefined reference to `Global::k'
release/ctf.o:ctf.cpp.text+0x4fe): undefined reference to `Global::k'
release/ctf.o:ctf.cpp.text+0x504): undefined reference to `Global::k'
release/ctf.o:ctf.cpp.text+0x5b3): undefined reference to `Global::k'
release/ctf.o:ctf.cpp.text+0x7ab): undefined reference to `Global::k'
collect2: ld returned 1 exit status

Почему?

Заранее спасибо за ответ.
Записан
crossly
Гость
« Ответ #1 : Июль 31, 2010, 14:16 »

на код глянуть можно??
Записан
Ovoshlook
Гость
« Ответ #2 : Июль 31, 2010, 14:19 »

Да. Конечно. Вот.

#include "ctf.h"
#include "Global.h"
#include "ui_ctf.h"
#include <QtGui>
#include <QWidget>



CTF::CTF(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::CTF)
{
    ui->setupUi(this);
    //----------------------------------------------------------------------------//
    Global::k=0;
    MainLayout=new QGridLayout;
    ui->centralWidget->setLayout(MainLayout);
    MainLayout->setMargin(40);
    MainLayout->setSpacing(40);
    MainLayout->addWidget(ui->label,1,1,2,3);
    MainLayout->addWidget(ui->CTB,3,1,1,1);
    MainLayout->addWidget(ui->ChTB,3,3,1,1);
Записан
crossly
Гость
« Ответ #3 : Июль 31, 2010, 14:26 »

Код:
#include "ctf.h"
#include "Global.h"
#include "ui_ctf.h"
#include <QtGui>
#include <QWidget>

int  Global::k=0;

CTF::CTF(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::CTF)
{
    ui->setupUi(this);
    //----------------------------------------------------------------------------//
   
    MainLayout=new QGridLayout;
    ui->centralWidget->setLayout(MainLayout);
    MainLayout->setMargin(40);
    MainLayout->setSpacing(40);
    MainLayout->addWidget(ui->label,1,1,2,3);
    MainLayout->addWidget(ui->CTB,3,1,1,1);
    MainLayout->addWidget(ui->ChTB,3,3,1,1);
Записан
Ovoshlook
Гость
« Ответ #4 : Июль 31, 2010, 14:30 »

Код:
#include "ctf.h"
#include "Global.h"
#include "ui_ctf.h"
#include <QtGui>
#include <QWidget>

int  Global::k=0;

CTF::CTF(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::CTF)
{

    ui->setupUi(this);
    //----------------------------------------------------------------------------//
   
    MainLayout=new QGridLayout;
    ui->centralWidget->setLayout(MainLayout);
    MainLayout->setMargin(40);
    MainLayout->setSpacing(40);
    MainLayout->addWidget(ui->label,1,1,2,3);
    MainLayout->addWidget(ui->CTB,3,1,1,1);
    MainLayout->addWidget(ui->ChTB,3,3,1,1);

 expected constructor, destructor, or type conversion before '=' token
Записан
crossly
Гость
« Ответ #5 : Июль 31, 2010, 15:11 »

учим с++
Записан
Ovoshlook
Гость
« Ответ #6 : Июль 31, 2010, 15:33 »

Сорри)) Забыл тип прописать)) все работает)) Спасибо большое))
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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