«Incomplete type» - ошибка при попытке открыть ifstream - PullRequest
1 голос
/ 02 февраля 2020

Я пытаюсь прочитать файл в C ++, используя встроенный компилятор Visual Studio 2019. Следуя некоторым найденным примерам, я пытаюсь это сделать:

#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. Окно вывода показывает error C2079: 'file' uses undefined class 'std::basic_ifstream<char,std::char_traits<char>>'.

После этот поток примерно так:

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

выдает мне ту же ошибку.

  1. Что означает ошибка?
  2. Как ее исправить?

1 Ответ

2 голосов
/ 02 февраля 2020

Вам необходимо дополнительно добавить два заголовка

#include <fstream>
#include <string>

Обратите внимание, что вместо этого объявления

string input = "";

вы можете просто написать

string input;
...