我不知道造成这种情况的原因,但我认为这与它有关 功能“password_checker”??
这是我的代码:
#include <iostream>
#include <Windows.h>
#include <string>
using namespace std;
string password_checker();
int main()
{
string password;
cout << "please enter your password: " << endl;
cin >> password;
if (password == password_checker)
{
cout << "Access granted" << endl;
}
else if (password == password_checker)
{
cout << "Access denied" << endl;
}
Sleep(15000);
return 0;
}
string password_checker()
{
string password = "123456";
return password;
}
答案 0 :(得分:4)
password == password_checker
那是试图在字符串和函数指针上调用operator==
。您需要调用该函数以获得字符串:
password == password_checker()
答案 1 :(得分:3)
你应该调用函数:password_checker()
。
在else if
部分,它应该不等于,!=
或else
。
答案 2 :(得分:2)
编译器认为,这符合
if (password == password_checker)
您正试图查看密码变量和password_checker函数是否相同。你必须调用该函数:password_checker()
。