2010-11-26 6 views
3

基本的なパスワードで保護されたファイルプログラムの最初の部分をコンパイルする際に問題が発生しました。このエラーは11行目(int login(username、password) )。ここで何が起こっているのか分からないので、誰かがその状況を明らかにすることができればいいだろう。エラー:「複合式として扱われたイニシャライザの式リスト」

#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; 
} 

答えて

6
int login(username,password); 
{ 

パラメータを持つユーザ定義関数を宣言するときに、あなたにも、パラメータの型を宣言する必要があり

int login(string username,string password) 
{ 
+0

Aha!あなたの助けを借りて、正しくコンパイルされました。 –

0

でなければなりません。あなたは

int login(username,password); 

は、あなたがないかもしれないが、スタイルのノートとしても

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

に変更する必要があります関数宣言を修正するためにwan'tて

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

:たとえば

グローバル変数を宣言したい場合は、ほとんどの変数のスコープをmainのローカルスコープに制限することができます。

1

ユーザー名とパスワードのデータ型を指定する必要があります。

関連する問題