我想知道为什么这个基于假公司名称和应用程序名称创建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显示我正在尝试创建的实例类型。
错误是:
字符串常量之前的预期标识符,','或'...'。
答案 0 :(得分:1)
你启用了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;
};