我一直在命令提示符下处理用户数据库。它允许您添加用户名和密码并登录。当我编译它时,我得到了错误no match for 'operator==' in
。我不太确定是什么原因造成的。此外,我已将所有内容存储在一个类中。
我的头文件是:
#ifndef USER_PSW_H
#define USER_PSW_H
#include <string>
class User_Psw
{
public:
User_Psw();
void addToDatabase();
void getNameIndex();
bool PasswordMatches();
void UserCheck();
protected:
private:
int sizeOfDatabase;
int index;
std::string Usernames;
std::string Password;
std::string username;
std::string password;
};
#endif // USER_PSW_H
构造函数是:
User_Psw::User_Psw()
{
const int SIZE = 100;
index = 0;
sizeOfDatabase = 0;
Usernames[SIZE];
Password[SIZE];
}
实际错误的函数是:
void User_Psw::getNameIndex()
{
for(int i=0; i < sizeOfDatabase; i++)
{
if (username == Usernames[i])
{
index = i;
}
}
}
包含错误的实际代码行是if (username == Usernames[i])
如果需要,我还可以添加更多代码片段。