返回c++中的Struct

Returning a Struct in C++

本文关键字:Struct 中的 c++ 返回      更新时间:2023-10-16

我知道这个问题已经被问了一百万次了,但是我看了那么多的答案,没有一个是有用的。

基本上,我正在创建一个登录表单,我需要返回一个包含电子邮件,密码和布尔值的结构体,以告诉是否要记住指定的登录信息。

我有一个名为Database的类,它由"Database .cpp"answers"Database .h"组成。在头文件中,我有:

public:
    typedef struct{
        QString email;
        QString password;
        bool remember;
    }LoginInfo;
    LoginInfo getLoginInfo();

在源文件中,我有:

LoginInfo Database::getLoginInfo()
{
    LoginInfo data;
    data.email = QString("email@example.com");
    data.password = QString("test12345");
    data.remember = true;
    return data;
}

我似乎得到的错误是,我需要一个分号之前"数据库::getLoginInfo()",我有一个数据库::getLoginInfo()的重新定义,当我只有一个。

我对c++了解不多,这实际上是我第一次使用结构体,但我有很多Java和Python的编程经验。因此,我仍然可以被认为是c++的"新手",我确信我在代码中留下了一些愚蠢的错误。

所以如果你能帮我,那就太好了。但就像我说的,我已经试着让这个工作了大约2个小时了,没有运气,我已经放弃搜索了。

该结构体被定义为类的成员,因此您需要使用:

Database::LoginInfo Database::getLoginInfo()

您需要在函数定义中正确地定义结构体的作用域。

Database::LoginInfo Database::getLoginInfo() {
    .
    .
    .
}