Qt 101: Почему я не могу использовать этот класс? - PullRequest
3 голосов
/ 10 июня 2010

У меня есть опыт работы с C ++, но я никогда раньше не использовал Qt.Я пытаюсь подключиться к базе данных SQLite, поэтому я нашел учебник здесь и собираюсь с этим.В IDE QtCreator я пошел в Add New -> C ++ Class и в файле заголовка вставил в заголовок заголовок этой ссылки, а в файле .cpp я вставил источник.Мой main.cpp выглядит так:

#include <QtGui/QApplication>
#include "mainwindow.h"
#include "databasemanager.h"
#include <qlabel.h>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    DatabaseManager db();
    QLabel hello("nothing...");
    if(db.openDB()){    // Line 13

        hello.setText("Win!");
    }

    else{
        hello.setText("Lame!");
    }
    hello.resize(100, 30);

    hello.show();

    return a.exec();
}

И я получаю эту ошибку:

main.cpp:13: error: request for member 'openDB' in 'db', which is of non-class type 'DatabaseManager()'

Может кто-нибудь указать мне правильное направление?Я знаю, что код "copypaste" не очень хорош, я просто хотел посмотреть, смогу ли я установить соединение с БД, и подумал, что что-то вроде этого будет простым ... спасибо за помощь.

1 Ответ

7 голосов
/ 10 июня 2010

Измените строку DatabaseManager на:

DatabaseManager db;

Вы объявляете локальную функцию с именем db, которая не принимает параметров и возвращает объект DatabaseManager при предоставлении ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...