QSettings 实例失败

QSettings instance fails

我想知道为什么这段基于虚假公司名称和应用程序名称创建 Qt 设置实例的代码不起作用。

这里是mainwindow.h,还有main.cpp,还有mainwindow.cpp,.pro文件,.ui文件,不过都是完全通用的, 因为我做了一个新的 qwidgets 项目来查看到底是什么问题。

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QSettings>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
    QSettings these_settings("MySoft","StarRunner");
private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

我所做的只是添加一行代码,QSettings these_settings("MySoft","StarRunner");

此页面 http://doc.qt.io/qt-5/qsettings.html#QSettings 显示了我尝试创建的实例类型。

错误是:

expected identifier before string constant, ',' or '...'.

您是否启用了 C++11?如果你像这样初始化字段,这是必需的。
这也应该用大括号而不是括号来完成:

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    QSettings these_settings { "MySoft","StarRunner" };

private:
    Ui::MainWindow *ui;
};