0

我不知道是什么原因造成的,但我认为它与函数“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;
}
4

3 回答 3

4
password == password_checker

那是试图调用operator==一个字符串和一个函数指针。您需要调用该函数,以便获得一个字符串:

password == password_checker()
于 2013-12-22T09:11:13.970 回答
3

你应该调用函数:password_checker().

else if某种程度上,它不应该等于!=、或只是else

于 2013-12-22T09:12:59.513 回答
2

编译器认为, if (password == password_checker) 您正在尝试查看密码变量和 password_checker 函数是否相同。您必须调用该函数:password_checker().

于 2013-12-22T10:06:09.380 回答