C++ 返回C+中的结构+;

C++ 返回C+中的结构+;,c++,methods,struct,return,C++,Methods,Struct,Return,我知道这个问题已经被问了一百万次了,但我已经看了这么多答案,没有一个是有用的 基本上,我正在创建一个登录表单,我需要返回一个包含电子邮件、密码和布尔值的结构,以判断是否要记住指定的登录信息 我有一个叫做数据库的类,它由“Database.cpp”和“Database.h”组成。在头文件中,我有: public: typedef struct{ QString email; QString password; bool remember;

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

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

我有一个叫做数据库的类,它由“Database.cpp”和“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;
}
然后在源文件中,我有:

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;
}
我似乎得到的错误是,我在“Database::getLoginInfo()”之前需要一个分号,并且当我只有一个分号时,我重新定义了Database::getLoginInfo()

<>我在C++中不知道很多,这实际上是我第一次使用Struts,但是我有很多java和Python编程经验。因此,我仍然可以被认为是C++的“NOOB”,我确信我在代码中留下了一些愚蠢的错误。
如果你能帮我,那就太好了。但正如我所说,我已经尝试让它工作了大约2个小时,但运气不好,我已经开始搜索了。

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

Database::LoginInfo Database::getLoginInfo()

您需要在函数定义中正确定义结构的范围

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

发布整个错误消息以及导致错误的行尝试使用
Database::LoginInfo Database::getLoginInfo()
代替
LoginInfo Database::getLoginInfo()
。顺便说一句-您不需要
typedef
匿名
struct
(这是“C风格”)。。。只需在
struct LoginInfo{QString email…}中给它一个名称。太谢谢你了,老兄,这件事让我烦透了!