ошибка: «список выражений инициализатора рассматривается как составное выражение» - PullRequest
3 голосов
/ 26 ноября 2010

У меня проблема с компиляцией начала основной файловой программы, защищенной паролем, я получаю вышеуказанную ошибку в строке 11 (int login (имя пользователя, пароль)). Не уверен, что здесь происходит, поэтому было бы неплохо, если бы кто-то смог пролить свет на ситуацию.

#include <iostream>
#include <conio.h>
#include <string>

using namespace std;

int i,passcount,asterisks;
char replace, value, newchar;
string username,password,storedUsername,storedPassword;

int login(username,password);
{
    if (username==storedUsername)
    {
        if (password==storedPassword)
        cout<<"Win!";
        else
        cout<<"Username correct, password incorrect."
    }
    else cout<<"Lose. Wrong username and password.";
}

int main()
{
    cout<<"Username: ";
    cin>>username;
    cout<<"Password: ";
    do
    {
    newchar = getch();
    if (newchar==13)break;
    for (passcount>0;asterisks==passcount;asterisks++)cout<<"*";
    password = password + newchar;
    passcount++;
    } while (passcount!=10);
    ifstream grabpass("passwords.txt")
    grabpass>>storedpass;
    grabpass.close();
    login(username,password);

    return 0;
}

Ответы [ 4 ]

6 голосов
/ 26 ноября 2010
int login(username,password);
{

должно быть

int login(string username,string password)
{
3 голосов
/ 26 ноября 2010

Возможно, вы не захотите исправлять объявление функции

int login(username,password);

Должно быть изменено на

int login(const string& username,const string& password);

Также, как примечание стиля, вы можете не захотеть объявлять глобальную переменную, выможет ограничить область видимости большинства ваших переменных локальной областью видимости в main.

1 голос
/ 26 ноября 2010

Вы должны указать типы данных имени пользователя и пароля.

0 голосов
/ 26 ноября 2010

При объявлении пользовательской функции с параметрами необходимо также объявить типы параметров.

Например:

int foo(int parameter)
{
    return parameter + 1;
}
...