ни один оператор «==» не соответствует этим операндам

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;
}
Теги:
operands

3 ответа

4
Лучший ответ
password == password_checker

Это пытается вызвать operator== на строку и указатель на функцию. Вам нужно вызвать функцию, чтобы получить строку:

password == password_checker()
3

Вы должны вызвать функцию: password_checker().

А else if часть должна быть не равна !=, Или просто else.

2

Компилятор считает, что в строке if (password == password_checker) вы пытаетесь увидеть, являются ли переменные пароля и функция password_checker одинаковыми. Вы должны вызвать эту функцию: password_checker().

Ещё вопросы

Сообщество Overcoder
Наверх
Меню