首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

在qt中取成员函数有些地方用"" 有些地方用" ." 不明白?解决方案

2012-03-12 
在qt中取成员函数有些地方用::有些地方用 . 不明白?QSqlDatabase db QSqlDatabase::addDatabase(QM

在qt中取成员函数有些地方用"::" 有些地方用" ." 不明白?
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

 QSqlDatabase db = QSqlDatabase.addDatabase("QMYSQL");

有什么区别?为什么第二个编译不通过。
错误:expected primary-expression before '.' token
帮助里面的
QSqlDatabase Class Reference
Static Public Members
QSqlDatabaseaddDatabase ( const QString & type, const QString & connectionName = QLatin1String( defaultConnection ) )

[解决办法]
这是c++语法问题,不是qt的问题
addDatabase 是一个静态函数。有两种调用静态函数的方式,一种是通过类名来调用
例如:QSqlDatabase::addDatabase("QMYSQL");
QSqlDatabase只是类的名字,不是实例(instance),所以要用::符
第二种是通过实例:
例如
QSqlDatabase ins;//这里声明了一个QSqlDatabase的实例ins,ins是一个变量
ins.addDatabase("QMYSQL");//这时才能用. 来引用静态函数addDatabase
[解决办法]
这个问题,lz应该补一下C++。呵呵。

静态成员函数调用不用实例化。

热点排行