c ++库引用编译器错误

时间:2012-07-11 16:46:03

标签: c++ compiler-errors

这是一个简单的问题,但我似乎无法找到问题

    #include <iostream>
namespace utils {
    class IntList {
      public:
        IntList();                         // constructor; initialize the list to be empty
        void AddToEnd(int k);              // add k to the end of the list
        void Print(ostream &output); // print the list to output

      private:
        static const int SIZE = 10;      // initial size of the array
        int *Items;                      // Items will point to the dynamically allocated array
        int numItems;                    // number of items currently in the list
        int arraySize;                   // the current size of the array
    };
}

这里我在头文件中定义了一个类

但它会抛出一个编译错误,说它无法找到对ostream的引用

3 个答案:

答案 0 :(得分:5)

stl中的类位于命名空间std。

因此,除非您正在执行using namespace std,否则必须在其前面添加std::。在你的情况下,你应该写std::ostream

答案 1 :(得分:2)

你错过了ostream前面的std::

你可以:

  1. 在课程定义之前使用整个命名空间:using namespace std;;

  2. 标记您将使用std :: ostream:using namespace std::ostream;;

  3. 或在您需要使用它的任何地方写下std::ostream

答案 2 :(得分:0)

您还可以在致电using namespace std

之前添加ostream