变量“fstream grabpass”具有初始化程序但类型不完整

Posted

技术标签:

【中文标题】变量“fstream grabpass”具有初始化程序但类型不完整【英文标题】:variable 'fstream grabpass' has initializer but incomplete type 【发布时间】:2010-11-26 18:42:39 【问题描述】:

我在第 37 行使用 fstream 从文件中读取错误 (fstream grabpass("passwords.txt");) 但我似乎没有做错任何事情。

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

【问题讨论】:

【参考方案1】:

您需要添加#include &lt;fstream&gt;。猜测一下,&lt;iostream&gt; 可能包含fstream 的声明(最类似于通过&lt;iosfwd&gt;),但不是定义,因此当您尝试定义该类型的对象时,它的类型不完整。

【讨论】:

呃。我为什么不这样做……谢谢,杰瑞。我犯了一个愚蠢的错误。

以上是关于变量“fstream grabpass”具有初始化程序但类型不完整的主要内容,如果未能解决你的问题,请参考以下文章

具有非常量变量大小的编译时数组初始化

是否所有 @Published 变量都需要在 SwiftUI 的视图模型中具有初始值?

同时覆盖具有相同值的变量是不是安全?

编写Rectangle(矩形)类.该类具有double类型的私有实例变量

Qt 错误:C:\Users\user-pc\Proj1\main.cpp:6: 错误:变量 'QApplication prog' 具有初始化程序但类型不完整 QApplication prog(a

C语言 | 每日基础