0

ヘッダーファイル

#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 ポインター変数を持つことができました。「識別子istreamを解決できません」というnetbeansのエラー。メインファイルでは正常に機能しますが、このオブジェクトでは機能しません。

4

1 に答える 1

5

おそらく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 */
于 2012-04-18T20:25:50.567 に答える