当前位置: 代码迷 >> QT开发 >> 在qt中取成员函数有些地方用"" 有些地方用" ." 不明白?解决方案
  详细解决方案

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

热度:510   发布时间:2016-04-25 05:04:18.0
在qt中取成员函数有些地方用"::" 有些地方用" ." 不明白?
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");

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

有什么区别?为什么第二个编译不通过。
错误:expected primary-expression before '.' token
帮助里面的
QSqlDatabase Class Reference
Static Public Members
QSqlDatabase addDatabase ( 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++。呵呵。

静态成员函数调用不用实例化。
  相关解决方案