我试着理解PyQt的作用.我没有做过的第一件事就是:
QApplication(sys.argv)
Run Code Online (Sandbox Code Playgroud)
为什么我必须给QApplication这个论点?我知道是什么sys.argv呢.但在我的脚本中,我不需要它.
我有一个类 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,则代码编译时不会出现错误。为什么会发生这种情况?如何在不删除默认分配的情况下修复此错误?在这种情况下,有默认分配与没有默认分配有什么区别?