<fstream>的ifstream将无法编译</fstream>

时间:2011-12-28 02:40:07

标签: c++ visual-studio-2010 ifstream

#include这些标题:

#include <iostream>
#include <fstream>

但是这段代码:

ifstream inFile;

仍然不会编译。可能是什么问题呢?我正在使用Visual Studio 2010,Win32 C ++。

2 个答案:

答案 0 :(得分:4)

您可以在代码顶部放置一个using namespace std;,这样您就不必完全符合标准C ++的资格,但是很多开发人员认为它不好。< / p>

我只是在标准内容前加上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

答案 1 :(得分:3)

类型为std::ifstream。您必须完整地写出来,除非您通过其他方式将限定名称带入范围。