c++;,qt:将日期写入标签 我是一个新手,使用C++和MyLeQT。我开发了一个多类软件来计算复活节日期。现在我想把它写在按钮点击的标签上,但我得到了一个-我想-分割错误。我的代码是这样的-只是一个函数,但请询问是否要查看其他部分-: void主窗口::点击() { 复活节*e; int anno=ui->text\u anno->text().split(“”[0].toInt(); int*date=e->dataPasqua(anno); int giorno=日期[0]; int mese=日期[1]; QString d=QString::number(giorno); QString m=QString::number(mese); QString dataCompleta=d+“/”+m; ui->lbl\U结果->设置文本(数据完成); }

c++;,qt:将日期写入标签 我是一个新手,使用C++和MyLeQT。我开发了一个多类软件来计算复活节日期。现在我想把它写在按钮点击的标签上,但我得到了一个-我想-分割错误。我的代码是这样的-只是一个函数,但请询问是否要查看其他部分-: void主窗口::点击() { 复活节*e; int anno=ui->text\u anno->text().split(“”[0].toInt(); int*date=e->dataPasqua(anno); int giorno=日期[0]; int mese=日期[1]; QString d=QString::number(giorno); QString m=QString::number(mese); QString dataCompleta=d+“/”+m; ui->lbl\U结果->设置文本(数据完成); },c++,qt,C++,Qt,怎么了?非常感谢 变量“e”已声明,但未初始化。 可能的解决方案是使用“make_unique”或简单的新运算符,如: e=新复活节() 为复活节对象尝试了如下声明。 (最好在不需要指针时避免使用指针) 复活节e=Easter() 第二次,尝试返回QList,而不是函数中的指针dataPasqua() 这是两个潜在的问题,其余的似乎没有问题。正如答案所指出的,您没有初始化e。e是否需要是指针?我相信答案是否定的。e不应该是指针。您不希望为e动态分配内存,然后必须在相同的函数中释放内存。e是否根据

怎么了?非常感谢

变量“e”已声明,但未初始化。 可能的解决方案是使用“make_unique”或简单的新运算符,如:
e=新复活节()

为复活节对象尝试了如下声明。 (最好在不需要指针时避免使用指针)

复活节e=Easter()

第二次,尝试返回
QList
,而不是函数中的指针
dataPasqua()


这是两个潜在的问题,其余的似乎没有问题。

正如答案所指出的,您没有初始化
e
e
是否需要是指针?我相信答案是否定的。
e
不应该是指针。您不希望为
e
动态分配内存,然后必须在相同的函数中释放内存。
e
是否根据当前日期进行一些内部计算,或者是否需要一些您没有提供的其他输入?我的另一个建议是更好地命名变量。除非变量是索引变量(就像循环中使用的变量),否则不要使用1个字母的变量名;最好使用
QDateEdit
。这也将确保只输入“有效”日期也可能起作用;需要将
e->
替换为
e.
。您认为需要指针的唯一原因可能是因为您使用了
e->
而不是
e.
。如果您将所需的代码放在问题本身中,您将有更好的机会获得帮助。记住,
StackOverflow
问题的主要目的是帮助将来的读者解决同样的问题。
返回数据dataPasqua()
的code>是一个bug。不能将指针重新指向超出范围的局部变量。这是未定义的行为。您可能应该返回
QString
QDate
。但是还有一个问题,为什么
Easter
是一个类,因为它只是一个没有成员变量的函数。