这是一个简单的问题,但我似乎无法找到问题
#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的引用
答案 0 :(得分:5)
stl中的类位于命名空间std。
中因此,除非您正在执行using namespace std
,否则必须在其前面添加std::
。在你的情况下,你应该写std::ostream
。
答案 1 :(得分:2)
你错过了ostream前面的std::
。
你可以:
在课程定义之前使用整个命名空间:using namespace std;
;
标记您将使用std :: ostream:using namespace std::ostream;
;
或在您需要使用它的任何地方写下std::ostream
。
答案 2 :(得分:0)
您还可以在致电using namespace std
ostream