0

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

    #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 的引用

4

3 回答 3

5

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

所以,除非你在做using namespace std,你必须在它们前面加上std::. 在您的情况下,您应该编写std::ostream.

于 2012-07-11T16:48:12.533 回答
2

您缺少std::ostream 前面的内容。

您可以:

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

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

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

于 2012-07-11T16:47:44.483 回答
0

您也可以using namespace std在调用之前添加ostream

于 2012-07-11T16:51:35.267 回答