BohYoh.comトップページへ
C & C++ FAQ
目次

C++ string型の入出力を行うプログラムがコンパイルエラーとなるのはどうしてですか。

 以下のプログラムは、string型変数に文字列を読み込んで表示するだけの単純なプログラムです。ところが、このプログラムをコンパイルすると、コンパイルエラーが発生します。

#include <iostream> using namespace std; int main(void) { string s1; cout << "文字列を入力せよ:"; cin >> s1; cout << "あなたは" << s1 << "と入力しましたね。\n"; }

 コンパイルエラーとなる理由は単純です。<string>ヘッダをインクルードしていない、というだけです。
 int型やdouble型やC言語形式文字列(末尾がナル文字で終了するcharの配列による文字列)の入出力を行うための抽出子>>と挿入子<<は、ストリーム関連のライブラリで定義されているのとは異なり、string型の入出力を行うための抽出子>>と挿入子<<は、文字列クラスのライブラリで定義されていることを知っておきましょう。


■ 根拠 ■
標準C++ §21.3.7.9 Inserters and extractors

戻る

BohYoh.comロゴ