Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QSettings实例失败_C++_Qt_Settings - Fatal编程技术网

C++ QSettings实例失败

C++ QSettings实例失败,c++,qt,settings,C++,Qt,Settings,我想知道为什么基于假公司名和应用程序名创建Qt设置实例的代码不起作用 这是mainwindow.h,还有一个main.cpp和mainwindow.cpp,一个.pro文件,.ui文件,但它们都是完全通用的,因为我创建了一个新的qwidgets项目来查看到底是什么问题 #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QSettings> namespace Ui {

我想知道为什么基于假公司名和应用程序名创建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
\ifndef主窗口
#定义主窗口
#包括
#包括
名称空间用户界面{
类主窗口;
}
类主窗口:公共QMainWindow
{
Q_对象
公众:
显式主窗口(QWidget*parent=0);
~main窗口();
q设置这些_设置(“MySoft”、“StarRunner”);
私人:
Ui::MainWindow*Ui;
};
#endif//main窗口
我所做的只是添加了一行代码,
QSettings这些设置(“MySoft”、“StarRunner”)

此页面显示我正在尝试创建的实例类型

错误是:

字符串常量“,”或“…”之前应为标识符


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

QSettings这些_设置=QSettings(“MySoft”、“StarRunner”);结果会显示一条关于“宏Q_禁用_复制”的消息,您确定大括号吗?在链接上显示括号。但我会尝试使用括号的建议。编译器认为这是方法的定义,这就是它抱怨的原因。您可以在构造函数初始值设定项列表中使用括号。