在C ++中返回Struct

时间:2014-05-09 04:36:05

标签: c++ methods struct return

我知道这个问题已被问了一百万次,但我看了很多答案而没有一个答案很有帮助。

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

我有一个名为Database的类,它由" 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;
}

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

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

所以是的,如果你能帮助我,那就太棒了。但就像我说的那样,我一直试图让这个工作大约2个小时,现在没有运气,而且我已经给了他们好友。搜索。

2 个答案:

答案 0 :(得分:2)

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

Database::LoginInfo Database::getLoginInfo()

答案 1 :(得分:1)

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

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