我想知道为什么这段基于假公司名称和应用程序名称创建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页显示了我要创建的实例类型。

错误是:


  字符串常量“,”或“ ...”之前的预期标识符。

最佳答案

您启用了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;
};

关于c++ - QSettings实例失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46682894/

10-09 05:37