会社のブログログイン登録スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。366件0今書いているプログラムは、関数部分と表示部分に分けていています。関数のファイルをfanc.hとし表示をmain.cppとします。<string>と記述してあります。(投稿順)3結論だけ言うとstring側で二重定義に対するケアが行われておりますので、使用側では対処不要となります。string側の実体ファイルで例として以下のような定義になっているはずです。_LIBCPP___STRING仮に上記のようなケアが行われていないヘッダファイルをincludeする場合は以下の様にincludeすればよいです。個の銅バッジ102<string>と<string.h>は別物なので両者を混同した記述は避けていただければと思います。7:55質問対象はc++でしたね、cのつもりで回答してしまいました(cの場合string.hが実体ファイルかと思います。c++の場合実体__stringとして編集いたしました。さん、stringの実体が何になるかはプラットホーム依存であり、このスレッドではプラットホームが明示されていないので__stringと断定しない方がいいかと。別スレッドではos-xとwindowsを併記されてはいましたが...。抽象的な表現に変えようと思います。件のコメントを表示2ヘッダーファイル自身が、自身の多重インクルードを阻止しているのが普通です。_INC_MATHがまだ未定義なら、という意味ですね。INC_MATHが未定義の場合、のおしまい(3)の様にコードされています。定義済みとなっているので、(1)のディレクティブの結果が「偽」となるため、(1)~(3)の部分はスキップされるわけですね。once」というものがあります。onceは多くのコンパイラーがサポートしています。提供されているものは2重インクルードに対処しているので、心配ありません。書かないという手もありますが、かえって混乱を招くかもしれません。2重に呼ばれたときに対処されているかの方が心配です。アンダースコアで始まり大文字が続く識別子や、先頭以外でも連続するアンダースコアが含まれている識別子はシステムが使う予約語ですので使わない事をお勧めします。アンダースコアで始まるグローバル変数名も予約されています。|この質問に回答するには、ログインする必要があります。求めていた回答ではありませんか?c++preprocessorのタグが付いた他の質問を参照する。'B')1原因のわからないコンパイラエラーメッセージ0二つの連結リストを結合させ、そのリストを表示させるプログラムです。やりたいことはできているのですが、最後、正常に終わりません。0配列ヒープが期待(テスト)と異なった結果をかえす。0やりたいことはできているが、なぜかコンパイルに時間がかかる。1静的ライブラリプロジェクトのテンプレート関数の明示的インスタンス化できません。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。従って情報を開示できることに同意したことになります。選択した項目のみ受け入れる。