2010-11-26 13 views
9

मुझे लाइन 37 (fstream grabpass ("passwords.txt") पर fstream का उपयोग करके फ़ाइल से पढ़ने में त्रुटि हो रही है;) लेकिन ऐसा लगता है कि मैं नहीं हूं कुछ भी गलत कर रहा हूँ।परिवर्तनीय 'fstream grabpass' में प्रारंभकर्ता है लेकिन अपूर्ण प्रकार

#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(string username, string password) 
{ 
    if (username=="test"/*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); 

    fstream grabpass("passwords.txt"); 
    getline(grabpass,storedPassword); 
    grabpass.close(); 
    login(username,password); 

    return 0; 
} 

उत्तर

18

आपको #include <fstream> जोड़ने की आवश्यकता है। अनुमान में, <iostream> शायद fstream (<iosfwd> के माध्यम से) की घोषणा सहित, लेकिन परिभाषा नहीं है, इसलिए जब आप उस प्रकार की किसी ऑब्जेक्ट को परिभाषित करने का प्रयास करते हैं तो इसका अपूर्ण प्रकार होता है।

+0

एआरएम। मैंने पहले से ऐसा क्यों नहीं किया ... धन्यवाद, जैरी। मेरे हिस्से पर एक बेवकूफ गलती। –

संबंधित मुद्दे