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