Я не знаю, что вызывает это, но я думаю, что это имеет какое-то отношение к функции "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;
}
password == password_checker
Это пытается вызвать operator==
на строку и указатель на функцию. Вам нужно вызвать функцию, чтобы получить строку:
password == password_checker()
Вы должны вызвать функцию: password_checker()
.
А else if
часть должна быть не равна !=
, Или просто else
.
Компилятор считает, что в строке if (password == password_checker)
вы пытаетесь увидеть, являются ли переменные пароля и функция password_checker одинаковыми. Вы должны вызвать эту функцию: password_checker()
.