"Incomplete type"-尝试打开 ifstream 时出错

"Incomplete type"-error when trying to open ifstream

我正在尝试使用 Visual Studio 2019 的内置编译器读取 C++ 中的文件。根据我发现的一些示例,我尝试这样做:

#include <iostream>
using namespace std;

int main() {
    ifstream file("test.txt");
    string input = "";
    while (file >> input) {
        std::cout << input;
    }
    std::cout << "Hello World!\n";
}

但是,编译时 Visual Studio 显示错误 incomplete type is not allowed。输出 window 显示 error C2079: 'file' uses undefined class 'std::basic_ifstream<char,std::char_traits<char>>'.

像这样关注

ifstream file;
file.open("test.txt");

给我同样的错误。

  1. 错误是什么意思?
  2. 我该如何解决?

您需要另外添加两个 headers

#include <fstream>
#include <string>

注意那个而不是这个声明

string input = "";

你可以写

string input;