头文件
#ifndef IREADER_H
#define IREADER_H
#include <iostream>
class iReader {
public:
iReader();
iReader(istream *input);
iReader(const iReader& orig);
virtual ~iReader();
private:
Pixel *pixelData;
char *cData;
istream *input;
};
#endif /* IREADER_H */
.cpp文件
#include <iostream>
#include <fstream>
#include "Pixel.h"
#include "iReader.h"
iReader::iReader() {
}
iReader::iReader(istream *input){
}
iReader::iReader(const iReader& orig) {
}
iReader::~iReader() {
}
(对不起,如果我没有正确复制代码)
这就是我的代码。我正在创建一个新对象,只是能够传递一个istream指针,并具有一个istream指针变量。在netbeans中显示错误,“无法解析标识符istream”。它在我的主文件中工作正常,但在此对象中工作不正常。
最佳答案
您可能在主文件中使用了using namespace std;
。
您需要限定istream
:
#ifndef IREADER_H
#define IREADER_H
#include <iostream>
class Pixel; // <--- you should also forward declare Pixel
class iReader {
public:
iReader();
iReader(std::istream *input);
iReader(const iReader& orig);
virtual ~iReader();
private:
Pixel *pixelData;
char *cData;
std::istream *input;
};
#endif /* IREADER_H */