LINUX.ORG.RU

Глобальный класс


0

0
Всем Пивет!!! Возникла проблема при обьявлении глобального класса В одном модуле определяю класс: к примеру, extern class A: public QDialog { public: A(){}; }a;

В другом обьявляю:

A a;

На что получаю ошибку: QPaintDevice: Must construct a QApplication before a QPaintDevice Причем, без наследования QDialog ошибки нет. Кто-нить может мне сказать в чем сдесь проблема?

★
дык тебе же все написали в ошибке

либо объект класса QApplication объявлен после объявления объекта класса A, либо объект класса QApplication вообще не объявлен глобально
aton ★
()
Мля .... вот так лоханулся!! Спасибо за помощь!!!
Sad ★
() автор топика
Ответ на: комментарий от aton
> ну и что ты понаписал? конструктор для 'а' будет вызван до того как 
вызовется main

Почему? Вроде всё нормально..



[../vmk2004/v04bvs/test]% cat main.cc
#include <iostream>

class CMyClass
{
        public:
                CMyClass(char* str)
                {
                        std::cout << str << endl;
                }
};

int main(int argc, char *argv[])
{
        std::cout << "First\n";
        CMyClass c(argv[0]);
        std::cout << "Second\n";
}
[../vmk2004/v04bvs/test]% g++ main.cc -o test
[../vmk2004/v04bvs/test]% ./test
First
./test
Second
[../vmk2004/v04bvs/test]%

Legioner ★★★★★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.