[解決済み] 識別子 "ostream "が未定義であるエラー [終了しました]。
2022-03-11 19:57:02
質問
出力に演算子 << をサポートする数値クラスを実装する必要があります。 というエラーが出てしまいます。
ヘッダーファイルはこちらです。
番号.h
#ifndef NUMBER_H
#define NUMBER_H
#include <iostream>
class Number{
public:
//an output method (for all type inheritance from number):
virtual void show()=0;
//an output operator:
friend ostream& operator << (ostream &os, const Number &f);
};
#endif
なぜコンパイラはフレンド関数で ostream を認識しないのでしょうか?
解決方法は?
名前を完全に修飾する必要があります
ostream
には、そのクラスが属するネームスペースの名前を指定します。
std::ostream
// ^^^^^
というわけで、演算子宣言はこうなるはずです。
friend std::ostream& operator << (std::ostream &os, const Number &f);
// ^^^^^ ^^^^^
あるいは
using
の前に宣言します。
ostream
が表示されます。
using std::ostream;
これによって
ostream
の名前を完全修飾せずに、現在のプログラムのバージョンと同じようにします。
関連
-
[解決済み】coutはstdのメンバではない
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】識別子 "string "は未定義?
-
[解決済み】致命的なエラー LNK1169: ゲームプログラミングで1つ以上の多重定義されたシンボルが発見された
-
[解決済み] string does not name a type Errorが発生するのはなぜですか?
-
[解決済み】システムが指定されたファイルを見つけられませんでした。
-
[解決済み] operator<< への未定義の参照
-
[解決済み] Rが解決できない - Androidエラー
-
[解決済み] 未定義の動作とシーケンスポイント
-
[解決済み] C++の識別子でアンダースコアを使用する場合のルールについて教えてください。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】C++プログラムでのコンソールの一時停止
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】浮動小数点数の乱数生成
-
[解決済み】標準ライブラリにstd::endlに相当するタブはあるか?
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み】std::cin.getline( ) vs. std::cin
-
[解決済み】'std::cout'への未定義の参照