小编Sir*_*r2B的帖子

为什么我需要"sys.argv"在PyQt中启动QApplication?

我试着理解PyQt的作用.我没有做过的第一件事就是:

QApplication(sys.argv)
Run Code Online (Sandbox Code Playgroud)

为什么我必须给QApplication这个论点?我知道是什么sys.argv呢.但在我的脚本中,我不需要它.

python pyqt command-line-arguments qapplication

13
推荐指数
2
解决办法
5990
查看次数

std::variant 的编译器错误 - 使用已删除函数错误

我有一个类 C,其中包含一个 struct S 和一个 std::variant 作为成员。struct S 有一个 int 成员 a,初始化为 0。代码如下:

#include <variant>

class C
{
    struct S {
        int a = 0;
    };
    std::variant<S> test;
};


int main()
{
    C ctest;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 gcc 12.2.1(也使用不同的编译器)编译此代码时,出现以下错误:

#include <variant>

class C
{
    struct S {
        int a = 0;
    };
    std::variant<S> test;
};


int main()
{
    C ctest;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看代码和错误消息: https: //onlinegdb.com/ZdfGp9avn

但是,如果我从结构 S 中删除默认赋值 =0,则代码编译时不会出现错误。为什么会发生这种情况?如何在不删除默认分配的情况下修复此错误?在这种情况下,有默认分配与没有默认分配有什么区别?

c++ c++17 std-variant

6
推荐指数
1
解决办法
135
查看次数