我想知道为什么这段基于假公司名称和应用程序名称创建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/