我有使用C ++的经验,但我以前从未真正使用过Qt。我正在尝试连接到SQLite数据库,因此我找到了一个教程here并且正在使用它。在QtCreator IDE中,我去了Add New - > C ++类和头文件中的头文件粘贴在该链接的头部和.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”代码不好,我只想看看我是否可以使数据库连接正常工作,我觉得这样的事情很简单......感谢您的帮助。
答案 0 :(得分:7)
将DatabaseManager行更改为:
DatabaseManager db;
您声明了一个名为db
的本地函数,该函数不带参数,并在您提供DatabaseManager
时返回()
对象;