1. ホーム
  2. c++

[解決済み] istreamとostreamの問題 - C++

2022-02-09 18:07:05

質問内容

私はg++とDev - C++の2つのコンパイラを使っています。Dev-C++で私のプログラムをコンパイルすると完璧にコンパイルされますが、g++でコンパイルしようとすると、2つのエラーが発生します。

a2test.cpp:27 からインクルードされたファイル内。
----.h:25: error: 'ostream' has not been declared
----.h:26: error: 'istream' has not been declared.

どなたか、この問題を解決するためにどうしたらよいか教えてください。

ありがとうございます

解決方法は?

fstreamを必ずインクルードしてください。また、ostream の前に "std::" を置くか、どこかに "using namespace std" を置いてください。

今はよくある間違いから推測しているだけなので、コードを掲載していただけると助かります。

fstreamをインクルードし忘れたのは、コンパイラによって使用するヘッダーファイルが異なる場合があり、g++のヘッダーファイルに

// iostream
#include <fstream>

Dev-C++では

// iostream
// no include for fstream in this file

つまり、明示的に行うのではなく、偶然に正しいヘッダーファイルをインポートしているわけです。

ヘッダーファイルについては、どれがどれだか忘れたときにこのサイトを利用するだけです。

ostream - C++ リファレンス

ostreamを取得するためには、ostreamをインクルードする必要があるようです。おそらくistreamも同じでしょう。