【发布时间】:2014-06-26 17:24:51
【问题描述】:
我知道这个问题已经被问过一百万次了,但我看了这么多答案,没有一个有用。
基本上我正在创建一个登录表单,我需要返回一个包含电子邮件、密码和布尔值的结构,以判断是否记住指定的登录信息。
我有一个名为 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 的编程经验。因此,我仍然可以被认为是 C++ 的“菜鸟”,我确信我在代码中留下了一些愚蠢的错误。
是的,如果你能帮助我,那就太好了。但就像我说的那样,我一直在努力让它工作大约 2 个小时,但没有运气,我已经放弃了搜索。
【问题讨论】:
-
发布整个错误消息以及导致错误的行
-
尝试用
Database::LoginInfo Database::getLoginInfo()代替LoginInfo Database::getLoginInfo()。 -
顺便说一句 - 你不需要
typedef匿名struct(那是“C 风格”)...只需给它一个名称,如struct LoginInfo { QString email ... };。