問題タブ [include-guards]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
610 参照

c++ - 包含問題

次のような包含パターンがあります。

ただし、これにより、「'Class1_namespace' はタイプに名前を付けていません。」というエラーが発生します。</p>

このエラーはインクルージョンの順序が原因ですか?

考えられる解決策は何ですか?私の問題を解決する前方宣言については疑わしいです。

0 投票する
4 に答える
749 参照

c++ - #endif の後のトークンは合法ですか?

私は現在次のことを行っており、コンパイラ(MSVC2008 /および2010)はそれについて文句を言いませんが、それが悪い考えかどうかはわかりません:

いつもは と書いていたの#endif // FOO_H_ですが、今日はそうしないことに気づき、しばらくコメント方式をやっていないらしいのでおかしいと思いました。

すべてのヘッダーに戻って修正する必要があるのはこの悪い習慣ですか (これはクロスプラットフォーム アプリケーションです)、それともそのままにしておいても問題ありませんか?

0 投票する
2 に答える
3646 参照

eclipse - Eclipse-CDT:自動生成されたインクルードガードで名前空間を使用する

.hpp / .cppテンプレートを使用して新しいクラスを作成するときに、 Eclipse CDTで自動生成されたインクルードガードの名前に名前空間を追加することは可能ですか(そしてどのように) ?

私にとって、Eclipseは名前空間を使用して新しいクラスを適切に生成しますが、インクルードガードには名前空間が含まれていないため、同じヘッダーファイルが2つの異なるディレクトリに2回存在する場合、インクルードできるのは1つだけです。

私の場合、名前空間の名前、Eclipseプロジェクト名、およびソースディレクトリの名前はすべて同じであるため、これらはインクルードガードのプレフィックスとしての代替となる可能性があります。

0 投票する
3 に答える
3266 参照

eclipse-cdt - EclipseCDTでの包含ガードのカスタマイズ

クラス生成テンプレート用にEclipseCDTの包含ガードの形式をカスタマイズする方法はありますか?現在の形式はですが<Class Name>_H、私が欲しいのはのようなものです<namespace>_<namespace>_<class name>_H。自分のプロジェクト内の異なる名前空間に同じ名前のクラスがあることを期待しているわけではありませんが、万が一の場合は心配しないでください。

0 投票する
4 に答える
672 参照

c++ - 二重包含のC++/SDL問題

コンパイラからこのエラーが発生します:

g_win_flagsとg_screenが2回含まれているように見えますが、その理由がわかりません。ソースは次のとおりです。

main.cpp

dec.h

init.h

init.cpp

誰かが助けることができますか?よろしくお願いします。良い一日を。

0 投票する
3 に答える
497 参照

c++ - 複数のクラスで使用される関数

私は以前にこれを尋ねましたが、私は言われたことを使用して、プログラムを機能させようとしました:

おそらく、私は C++ に慣れていないためですが#ifndef、クラスに同じ .h ファイルが含まれているという問題が原因で、使用に問題があります。sh と th と main.cpp の両方に、rh で定義された構造体が必要です。

私は持っている

私のメインのcppファイルで

そして、私のshファイルとthファイルのそれぞれに、

同様に、私がrhファイルに持っているのは次のとおりですが、コンパイラはrhファイルで、、、についてエラーを出していexpected nested-name-specifier before "namespace"ますunqualified id before using namespace std;expected ';' before "namespace"

メイン cpp が特定のライブラリなどをインポートしないことによって引き起こされる問題はありますか? どうすれば修正できますか?

0 投票する
2 に答える
7127 参照

c++ - C++サイクリック包含の問題

私はこのファイルlogger.hppを持っています:

そしてこのファイルevent.hpp

上手。logger.hppにはevent.hppを含め、event.hppにはlogger.hppを含めます。

  • logger.hppで演算子を定義する必要があるため、event.hppを含める必要があります。

  • event.hppには、クラスEventで定義される友情があるため、logger.hppを含める必要があります。

もちろん、これは周期的な再帰です。

私はこれを試しました:

1)logger.hpp:

動作しません。コンパイラは、event.hppにLoggerと呼ばれる認識されないタイプがあることを教えてくれます(そしてもちろん彼は正しいです):

ISO C ++は、タイプのない「ロガー」の宣言を禁止します

コンパイラは、友情宣言がある行(event.hpp内)を示します。

2)event.hppの場合:

動作しません。コンパイラーは、logger.hppにEventと呼ばれる認識されないタイプがあることを教えてくれます(そして、これも明らかな理由で正しいです):

ISO C ++は、タイプのない「イベント」の宣言を禁止します

コンパイラは、演算子宣言がある行(logger.hpp内)を示します。

さて...これに直面する方法がわかりませんか?私はすべてを試し、どこにでも宣言を出しましたが、もちろん、それらは何の助けにもなりません。これを解決する方法??? (ベストプラクティスが存在すると思いますが、そう願っています:))。

ありがとうございました。

0 投票する
5 に答える
81045 参照

c++ - C++ および C のヘッダー ガード

LearnCpp.com | 1.10 — プリプロセッサの初見Header Guardsの下に、次のコード スニペットがあります。

add.h:

減算.h:

main.cpp:

ヘッダーガードの実装では、次のように言及されています。

  • ここでの宣言は何でしょうか?そして、int main()後に来るはず#endifですか?
  • 慣習を追加_Hすることですか、それともやらなければならないことですか?

ありがとう。

0 投票する
4 に答える
3618 参照

c++ - C ++-このヘッダーが2回表示されないようにするにはどうすればよいですか?

で:http ://www.learncpp.com/cpp-tutorial/110-a-first-look-at-the-preprocessor/

ヘッダーガードの下には、次のコードスニペットがあります。

add.h:

減算.h:

main.cpp:

#include "mymath.h"に2回表示されないようにするにはどうすればよいmain.cppですか?

ありがとう。

0 投票する
3 に答える
3386 参照

c++ - 複数の定義と名前空間

複数のファイルに #include する名前空間に関数を含める正しい方法ですか?

test.h