ifstream из <fstream>не скомпилируется - PullRequest
0 голосов
/ 28 декабря 2011

I #include эти заголовки:

#include <iostream>
#include <fstream>

но этот кусок кода:

ifstream inFile;

все еще не скомпилируется. В чем может быть проблема? Я использую Visual Studio 2010, Win32 C ++.

Ответы [ 2 ]

4 голосов
/ 28 декабря 2011

Вы можете поставить using namespace std; в верхней части своего кода, чтобы вам не приходилось полностью квалифицировать стандартный материал C ++, но многие разработчики считают его плохим тоном.стандартный материал с std::, который делает код длиннее:

std::cout << "Hello, world.\n";

, но не дает мне проблем с конфликтами пространства имен.std:: префиксы в действии:

$ cat testprog.cpp
    #include <iostream>
    #include <fstream>

    int main (void) {
        int n;
        std::ifstream inFile("input.txt");
        inFile >> n;
        std::cout << "File contained " << n << '\n';
        return 0;
    }

$ cat input.txt
42

$ g++ -Wall -Wextra -o testprog testprog.cpp ; ./testprog
File contained 42
3 голосов
/ 28 декабря 2011

Тип std::ifstream. Вы должны выписать его полностью, если только вы не внесли квалифицированное имя в сферу другим способом.

...